2

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

"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包含许可代码的文件来提供许可版本。即使我在节点模块中替换它,错误仍然发生。

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

我们的项目使用 browserify,我怀疑(但不确定)这可能是缓存模块的原因。到目前为止,我没有任何运气试图找到导致此问题的原因。

我的 package.json:

{
  "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,因为它仍然给我一个过期试用的错误。

4

2 回答 2

2

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

我可能还因为安装了 Sublime 中的 Gitignored 包而蒙蔽了自己,它没有显示或搜索 .gitignore 文件中的文件/文件夹。我必须删除该包并"folder_exclude_patterns"在我的 sublime-settings 中编辑我的以重新显示这些文件夹。

我已将整个 tmp 文件夹删除到我们构建过程的一部分中,因此我们不再遇到此问题。

于 2017-05-02T22:43:09.090 回答
0

是的,看起来您仍在使用以前安装的flexicious-react-datagrid.

第一个猜测是你需要运行npm install ./npm_libs/flexicious-react-datagrid更新这个模块。npm manager 通常将所有依赖模块复制到node_modulesdir 中,然后 node.js 使用它来解析require('flexicious-react-datagrid').

于 2017-05-02T19:49:21.410 回答