我正在开发一个使用flexicious-react-datagrid
和flexicious-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
文件来提供许可版本。即使我在node模块中替换了它,错误仍然发生。
这使得它看起来像是在服务器端缓存旧代码,因为调用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也没有加载,因为它仍然给我一个过期试用的错误。
发布于 2017-05-03 06:43:09
毕竟是Browserify。我最终偶然发现了缓存的版本,它隐藏在项目根目录下的/tmp/
文件夹中。
我可能还因为安装了Sublime中的Gitignored包而蒙蔽了双眼,该包不显示或搜索.gitignore文件中的文件/文件夹。为了重新显示这些文件夹,我不得不删除该软件包,并在我的高级设置中编辑我的"folder_exclude_patterns"
。
在我们的构建过程中,我已经完整地删除了tmp文件夹,这样我们就不会再遇到这个问题。
发布于 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')
。
https://stackoverflow.com/questions/43744656
复制相似问题