モジュールjquery-browserifyでbrowserifyでjQueryを使用しようとしています。次のように client.js スクリプトにモジュールが必要でした。
var $ = require('jquery-browserify');
ノードサーバーを実行すると、browserifyを実行した後、「ウィンドウが定義されていません」というエラーが表示されます。私は何を間違っていますか?
モジュールjquery-browserifyでbrowserifyでjQueryを使用しようとしています。次のように client.js スクリプトにモジュールが必要でした。
var $ = require('jquery-browserify');
ノードサーバーを実行すると、browserifyを実行した後、「ウィンドウが定義されていません」というエラーが表示されます。私は何を間違っていますか?
Browserify は CommonJS モジュールと AMD モジュールをdeamdify
トランスフォームで処理できるため、シムを使用する必要はありません。
明確にするために、私はJQuery 2.0.0でのAMDサポートに気づいただけです
jQuery は CommonJS に準拠していませんでした。つまり、それ自体をmodule.exports = $
until経由でエクスポートしませんでした2.1.0
。
したがって、 browserify-shimを介してシムする必要がありました。
browserify-shim
jquery の任意のバージョンまたは Zepto のようなその他の非 CommonJS ライブラリをオンザフライでシムします。これを設定する方法の詳細は、readme に含まれています。
別の方法として、 jquery-browserifyを使用することもできますが、その場合、このモジュールが CommonJS 準拠にした jQuery バージョンに縛られることになります。