非amd/cmd/umd/common规范的模块用r.js打包后,报错: jQuery is not defined
比如有一个a.js,这是一个没有按amd规范包装的库,代码的写法为:
(function($){
//do some stuff..
})(jQuery);
build.js配置为:
({
appDir: './amd',
baseUrl: './',
dir: '../dist/static/js',
findNestedDependencies: false,
optimize : 'none',
mainConfigFile: './amd/config/config.js',
modules: [
{
name: 'common',
exclude:['jquery'] //手动排除不需要合并的依赖项
}
]
})
由于我不想将jquery和其他库打包到一起,common.js依赖a.js,a.js依赖jquery.js。打包后,在common.js里的a模块无法找到jquery。我自己试了一下将a.js手动包装成amd后是可以解决问题的,但是有很多库都可能没有包装过,所以想问一下有没有办法不包装也可以在打包后正常运行呢?
补充:
shim有正常配置了
'a': {
deps: ['jquery']
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以将a.js用
`
(function (factory) {
}
`
包装一下,具体参考jquery源码的写法。