(内の) を提供するlinkuriousライブラリ (シグマ フォーク)を使用しようとしています。これにより、次のことができます。"main": "dist/sigma.require.js"
package.json
var sigma = require('linkurious');
ただし、プラグインは含まれていないため、個別に要求する必要があります。sigma
問題は、プラグインがグローバル スコープで使用可能な変数に依存していることです。だから私は次のように物事をシムしました(からpackage.json
):
"browser": {
"sigma": "./node_modules/linkurious/dist/sigma.js",
"linkurious/plugins": "./node_modules/linkurious/dist/plugins.js"
},
"browserify-shim": {
"sigma": {"exports": "sigma"},
"linkurious/plugins": { "depends": [ "sigma" ] }
},
"browserify": {
"transform": [ "browserify-shim" ]
},
これは、ブラウザで実行すると、プラグインのインクルード中にエラーを生成しません (これは、グローバル変数が使用可能であることを意味します) が、プラグインへの参照は失敗します (あたかもそれらが自分自身をアタッチできなかったか、または自分自身を非にアタッチしたように)グローバル変数)。
私は grunt-browserify を使用して、次のように構成したプロセスを実行しています (からGruntfile.js
):
grunt.initConfig({
browserify: {
libs: {
files: { 'inc.js': ['index.js'] },
},
}
});
他の誰かが複製/理解できることを期待して、問題を実証するために必要な最小限のコードを使用して、この問題に小さなプロジェクトを添付しました。解凍npm install; npm start
し、ブラウザを入力して実行しhttp://localhost:8002/
、問題を確認します。
前もって感謝します、
エッキス
- 私を編集 -
ちなみに、git リポジトリのベンドラッカー ( https://github.com/thlorenz/browserify-shim/issues/215を参照) は、グローバルな変換を行う必要があることを示唆しています。シミングはファイルでは機能せずnode_modules
、グローバルな変換が必要なファイルについては説明されています。シミングの全体的なポイントは、シミングしているコードを所有していないということであるため、これは私にはあまり意味がありません。いずれにせよ、bendruckerは、質問が提起されているが回答が提供されていないこの他の SO 投稿を私に指摘しました。
ヘルプ?