次の質問を読んだ後、コンパイルしたブートストラップ JS プラグイン ファイルを次のように AMD モジュールにラップしました。
define(['zepto'], function($){ ...Bootstrap pasted here... });
次に、これは私のmain.jsファイルが構成用にどのように見えるかです:
require.config({
baseUrl: 'js',
paths: {
'zepto': 'lib/zepto',
'underscore': 'lib/underscore',
'backbone': 'lib/backbone',
'text': 'lib/text',
'bootstrap': 'lib/bootstrap'
},
shim: {
'zepto': {
exports: '$'
},
'underscore': {
exports: '_'
},
'backbone': {
deps: ['zepto', 'underscore'],
exports: 'Backbone'
}
}
});
require([
'app',
'zepto',
'underscore',
'backbone',
'bootstrap'
],
function(App){
//start the app
App.initialize();
});
しかし、コンソールでは、bootstrap.jsファイルに次のエラーが表示されます。
Uncaught TypeError: undefined is not a function
モジュールに渡されているにもかかわらず、 $ が定義されていないようです。完全にラップされたブートストラップ モジュールは、こちらから入手できます。
Bootstrap と互換性があるはずの zepto を使用しており、シムから $ をエクスポートしているため、これが機能しない理由がわかりません。