在阅读了以下问题后,我将编译的引导 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,并且正在从 shim 中导出 $,所以看不出为什么这对我不起作用。