首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails项目中的节点模块有可能缓存旧版本吗?

Rails项目中的节点模块有可能缓存旧版本吗?
EN

Stack Overflow用户
提问于 2017-05-03 02:18:04
回答 2查看 433关注 0票数 2

我正在开发一个使用flexicious-react-datagridflexicious-react-datagrid-styles节点模块的Rails项目。这些模块在package.json中引用为:

代码语言:javascript
复制
"dependencies": {
...
"flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid",
"flexicious-react-datagrid-styles": "^1.2.0",
...
}

我遇到的问题是手动将其中一个模块更新为许可版本。

公共的flexicious react-datagrid模块是一个试用版,在使用它一段时间后,它现在已经过期,并在试图加载页面时给出一个ErrorCode103弹出窗口,一些无限循环运行,因此页面永远无法加载。

Flexicious团队通过提供包含许可代码的react-datagrid.min.js文件来提供许可版本。即使我在node模块中替换了它,错误仍然发生。

这使得它看起来像是在服务器端缓存旧代码,因为调用ErrorCode103弹出窗口的代码应该来自被替换的代码。我试过在隐姓埋名或其他浏览器中加载,但没有成功。

我们的项目使用了browserify,我怀疑(但不确定)这可能就是缓存模块的原因。到目前为止,我还没有找到导致这个问题的原因。

我的package.json:

代码语言:javascript
复制
{
  "name": "redacted",
  "version": "0.0.1",
  "description": "redacted",
  "author": "redacted",
  "license": "SEE LICENSE IN LICENSE.TXT",
  "babel": {
    "comments": false,
    "presets": [
      "es2015",
      "react"
    ]
  },
  "devDependencies": {
    "browserify": "~> 14.0.0",
    "browserify-incremental": "^3.1.0",
    "browserify-css": "0.10.0"
  },
  "dependencies": {
    "babel-core": "^6.0.0",
    "babel-eslint": "^6.0.4",
    "babel-loader": "^6.0.0",
    "babel-polyfill": "^6.3.14",
    "babel-preset-es2015": "^6.0.15",
    "babel-preset-react": "^6.0.15",
    "babelify": "^7.2.0",
    "bower-webpack-plugin": "^0.1.9",
    "codemirror": "^5.22.0",
    "copy-webpack-plugin": "^4.0.1",
    "copyfiles": "^0.2.1",
    "core-js": "^2.4.0",
    "css-loader": "^0.23.0",
    "eslint": "^2.0.0",
    "eslint-loader": "^1.0.0",
    "eslint-plugin-react": "^5.1.1",
    "file-loader": "^0.8.4",
    "flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid",
    "flexicious-react-datagrid-styles": "^1.2.0",
    "gh-pages-deploy": "^0.4.0",
    "glob": "^7.0.0",
    "history": "^2.1.1",
    "isparta-instrumenter-loader": "^1.0.0",
    "jquery-browserify": "*",
    "material-ui": "^0.16.5",
    "minimist": "^1.2.0",
    "mocha": "^2.2.5",
    "moment": "^2.17.1",
    "node-sass": "^3.4.2",
    "normalize.css": "^4.1.1",
    "null-loader": "^0.1.1",
    "open": "0.0.5",
    "postcss": "^5.0.11",
    "postcss-loader": "^0.9.1",
    "react": "^15.4.0",
    "react-addons-test-utils": "^15.4.0",
    "react-codemirror": "^0.3.0",
    "react-day-picker": "^5.0.0",
    "react-dom": "^15.4.0",
    "react-router": "^2.4.0",
    "react-tap-event-plugin": "^2.0.0",
    "recursive-readdir-sync": "^1.0.6",
    "rimraf": "^2.4.3",
    "sass-loader": "^3.1.2",
    "style-loader": "^0.13.0",
    "url-loader": "^0.5.6"
  }
}

flexicious react-datagrid是1.1.6版本,它安装了1.3.8版本,这是我在./npm_libs/flexicious-react-datagrid中拥有许可代码的版本。

即使不使用许可的代码,1.3.8也没有加载,因为它仍然给我一个过期试用的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-03 06:43:09

毕竟是Browserify。我最终偶然发现了缓存的版本,它隐藏在项目根目录下的/tmp/文件夹中。

我可能还因为安装了Sublime中的Gitignored包而蒙蔽了双眼,该包不显示或搜索.gitignore文件中的文件/文件夹。为了重新显示这些文件夹,我不得不删除该软件包,并在我的高级设置中编辑我的"folder_exclude_patterns"

在我们的构建过程中,我已经完整地删除了tmp文件夹,这样我们就不会再遇到这个问题。

票数 2
EN

Stack Overflow用户

发布于 2017-05-03 03:49:21

是的,看起来你仍然在使用之前安装的flexicious-react-datagrid版本。

第一种猜测是,您需要运行npm install ./npm_libs/flexicious-react-datagrid来更新此模块。npm管理器通常将所有依赖模块复制到node_modules目录中,然后node.js使用它来解析require('flexicious-react-datagrid')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43744656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档