私が使用してプロジェクトを構築していますbroweserify
、jquery
とjquery-ui
。すべてのライブラリはでプルダウンされましたnpm
。これが私が自分browserify-shim
を使って引き込む方法ですjquery' and 'jquery-ui
:
"browserify": {
"transform": [ "browserify-shim" ]
},
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js",
"jquery-ui": "./node_modules/jquery-ui/jquery-ui.js"
},
"browserify-shim": {
"jquery": "$"
}
すべてが正常に機能しますが、私が見るjquery-ui.js
と、コードの最初の行は
var jQuery = require('jquery');
このコード行はどのように解決されていますか?debugger
この後にステートメントを置くと、jquery
常に解決されます。jquery
シムの名前も変更しましたが、それでも解決しました。それはどのように起こっていますか?
簡単な答え:あなたのpackage.json
依存関係
長い答え:私もそれらのnpmモジュールを使用しています。そのjquery-ui
パッケージはrequire
、内部の依存関係に合わせて再構築されたようです。お気づきのとおり、jquery-ui
core.js
isの最初の行は:プロジェクトのnpm依存関係でvar jQuery = require('jquery');
呼び出されるモジュールを探しますjquery
。それは私が私の中に持っているもののようなものによって処理されますpackage.json
:
"dependencies": {
"jquery": "^2.1.1",
"jquery-ui": "^1.10.5",
}
browserify
パーツに加えて:
"browserify": {
"transform": [ "browserify-shim" ]
},
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.min.js",
"jq-ui": "./node_modules/jquery-ui/jquery-ui.js"
},
"browserify-shim": {
"jquery": "$",
"jq-ui": {
"exports": "jq-ui",
"depends": [ "jquery:jQuery" ]
},
}
私が理解していないのは、他のクライアント側スクリプトでjQueryUIコンポーネントを使用できるかどうかです。
参照:* jqueryおよび非npmプラグインでのBrowserifyの使用* jQueryプラグインでのBrowserifyの使用
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加