10

簡単な背景: 私は browserify と browserify-shim (および gulp をビルド) を使用して Web アプリを作成しています。この問題の前はrequire、npm から jquery を実行していたので、問題はありませんでした。いくつかの最適化を開始すると、jQuery が含まれているバンドルがいかに巨大であるかに気付きました。そのため、script タグを使用して CDN から jQuery を取得し、bundle.js ファイルの前に配置しています。しかし、jQuery をグローバルとして宣言し、jQuery プラグインを browserify および browserify-shim で適切にシミングする際に問題が発生しています。gulp を実行してビルドすると、同じエラーが発生し続けます。

[gulp] gulp-notify: [Compile Error] module "jquery" not found from "/Volumes/Chetan/Users/cshenoy/Projects/urbanstems-node/app/plugins/jquery.inview.js"

browserify-shim は、jQuery がグローバルであることを認識していないようです。

参考までに、私はinview プラグインを使用しています。

関連する部分を含む私のpackage.jsonは次のとおりです

"browser": {
  "inview": "./app/plugins/jquery.inview.js"
},
"browserify-shim": {
  "jquery": "global:jQuery",
  "inview": {
    "depends": [
      "jquery"
    ]
  }
}

エラーの診断に役立つ他に何を含めることができるか教えてください。

4

1 に答える 1

6

browserify-shimjQueryのみに依存する場合は、すべての jQuery プラグインを宣言する必要がないことがわかりました。inview エントリを削除しただけで、すべて正常に動作します。

于 2014-07-15T19:38:04.600 に答える