私はインターネット上でこの問題の解決策を見つけることを試みてきましたが、うまくいく解決策を見つけることができません。私は現在、GulpとBrowserifyの最新バージョンを使用して、私が取り組んでいるWebサイトのJSをバンドルしています。以前はすべてのJSファイルを連結していましたが、今はモジュール設定に移行しています。Browserifyとの依存関係としてjQueryを束ねないようにする
私が実行している問題は、特定の依存関係を複製することです。この例では、jQuery(v2.1.4)に焦点を当てます。ここに私の設定です:
main.js(すべてのページにロードされた)
page.js
window.jQuery = window.$ = require('jquery');
window.Vue = require('vue');
require('jquery-validation');
// More JS that loads on all pages
(各ページには、それがそのページに関連するスクリプトのための独自のjsファイルのしています)
require('remodal'); // This requires jQuery
// Rest of the JS for this page...
私が遭遇している問題は、現在、両方のjavascriptバンドルにjQueryがあることです。 Browserifyを使用して、jQueryをpage-speicific.js
の「外部」としてマークしましたが、スクリプトからjQueryを削除しましたが、エラーUncaught Error: Cannot find module 'jquery'
が表示され、解決策が見つからないようです。
BrowserifyでjQueryを「除外」するか、require('remodal')
の周りにtry
ブロックを置くと、代わりにUncaught TypeError: $(...).remodal is not a function
となります。私はモジュールremodal
がjQueryを必要としており、そこにロードされていないと推測しています。それはウィンドウに設定されていないので、実行が失敗します。
http://stackoverflow.com/questions/32746512/what-is-the-difference-between-browserify-external-vs-exclude –
私は除外のために同じエラーを取得します外部:Uncaught Error:モジュール 'jquery'が見つかりません。私がignoreを使用すると、$ .mapが関数ではないというエラーが発生するので、$をjQueryとして解釈していません。 – Devin