1

(内の) を提供する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/、問題を確認します。

前もって感謝します、

エッキス

sigma.zip

- 私を編集 -

ちなみに、git リポジトリのベンドラッカー ( https://github.com/thlorenz/browserify-shim/issues/215を参照) は、グローバルな変換を行う必要があることを示唆しています。シミングはファイルでは機能せずnode_modules、グローバルな変換が必要なファイルについては説明されています。シミングの全体的なポイントは、シミングしているコードを所有していないということであるため、これは私にはあまり意味がありません。いずれにせよ、bendruckerは、質問が提起されているが回答が提供されていないこの他の SO 投稿を私に指摘しました。

ヘルプ?

4

0 に答える 0