2016-05-03 16 views
0

私はbrowserifyするのが初めてで、2つのファイルを使って簡単な設定をしようとしています。 私はNPM使用してjqueryのをインストールしている:jqueryの別のファイルでjqueryプラグインをブラウジング

npm install --save jquery 

をしても私は亭を使用してカルーセルプラグインをインストールしました:

bower install slick-carousel 

私は基本的に私のようなすべての一般的なJSを持っている一般的な一app.jsを持っていますブートストラップ+ jquery +私のグローバルロジック... 次に、ページに固有の別のファイルがあります(homepage.jsなど)

私が必要とするものは、app.jsおよびjqueryプラグイン(「slickカルーセル ")を別のファイルに保存します。

私は同じファイルのすべての滑らかな-カルーセルが正常に動作し、私は$(「#私のセレクタ」)のような何かを呼び出すことができるよ必要スリック():。

global.$ = global.jQuery = require("jquery"); 
require('slick-carousel'); 

しかし、私このような別のファイルでそれらを持っている:

app.js:

global.$ = global.jQuery = require("jquery"); 

homepage.js

require('slick-carousel'); 

...スリックが定義されていないというエラーが表示されます。

私はbrowserify-shimを成功させようとしています。プラス私はプラグインのコードにconsole.log(window。$ === $)を追加することで簡単なテストを行い、プラグインで使用されている$オブジェクトが失敗したとき、ウィンドウ$と違うことを発見しました。それが失敗している理由が、私はそれを修正する方法がわかりません。

ご協力いただければ幸いです。

答えて

0

そうのようなjQueryプラグインとしてslickを輸出し、明示的に試してみてください:

"browserify": { 
    "transform": [ 
    "browserify-shim" 
    ] 
}, 
"browserify-shim": { 
    "jquery": "$", 
    "slick-carousel": { 
    "depends": [ 
     "jquery: jQuery" 
    ], 
    "exports": "$.fn.slick" 
    } 
}, 
関連する問題