2

ノードモジュールflexicious-react-datagridを使用するRailsプロジェクトに取り組んでいます。flexicious-react-datagrid-stylesこれらのモジュールは、package.json で次のように参照されます。

"dependencies": {
...
"flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid",
"flexicious-react-datagrid-styles": "^1.2.0",
...
}

私が抱えている問題は、モジュールの 1 つをライセンスされたバージョンに手動で更新することです。

public flexicious-react-datagrid モジュールは試用版であり、しばらく使用した後、有効期限が切れてErrorCode103、ページを読み込もうとするとポップアップが表示され、無限ループが実行されるため、ページの読み込みが永久に停止します。 .

react-datagrid.min.jsFlexicious チームは、ライセンス コードを含むファイルを提供することで、ライセンス バージョンを提供します。ノードモジュールでこれを置き換えても、エラーは引き続き発生します。

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"これらのフォルダーを再表示するには、そのパッケージを削除し、サブライム設定で編集する必要がありました。

ビルド手順の一部に tmp フォルダー全体を削除することを含めたので、この問題が再び発生することはありません。

于 2017-05-02T22:43:09.090 に答える