【发布时间】:2014-03-14 11:54:13
【问题描述】:
我正在使用 requirejs,并且我有一个工作应用程序,但是在运行 r.js 优化器时,我发现在编译的脚本中不可能不返回任何未定义的错误。
错误都在加载,类似于:
Uncaught TypeError: undefined is not a function
在优化之前,我有 0 个错误并且一切都按预期工作,但是在使用以下构建文件运行 r.js 时,我在加载文件时收到未定义的 js 错误。
我在构建文件中做错了什么吗?我在我的应用程序中使用了几个插件,但是由于 shim 在优化之前已配置并工作,我很困惑为什么这会中断。
附带说明的是,r.js 不包括导致问题的 require.js,为了解决我在调用主脚本之前手动包含了 require.js,这看起来可以解决问题,但老实说,这很难说出问题所在!
感谢您的观看! :)
main.js:
require.config({
baseUrl: "*my base url*",
shim: {
jquery: {
exports: 'jQuery'
},
parsley: {
deps: ["jquery"]
},
marquee: {
deps: ["jquery"]
},
'facebook' : {
exports: 'FB'
}
},
paths: {
jquery: [
"//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min",
"vendor/jquery"
],
parsley: "vendor/parsley",
marquee: "vendor/jquery.marquee.min",
'facebook': '//connect.facebook.net/en_US/all'
},
waitSeconds: 0
});
requirejs(['jquery', 'modules/log', 'modules/util', 'modules/youtube/youtube', 'modules/ticker', 'parsley', 'modules/fb'
], function ($, log, util) {
*app stuff*
});
构建配置:
({
appDir: './',
baseUrl: './',
dir: './dist',
modules: [
{
name: 'main',
}
],
fileExclusionRegExp: /^(r|build)\.js$/,
optimizeCss: 'none',
optimize: "none",
removeCombined: true,
paths: {
jquery: "empty:",
facebook: "empty:"
},
shim: {
jquery: {
exports: 'jQuery'
},
'facebook' : {
exports: 'FB'
}
}
})
【问题讨论】:
标签: javascript r optimization requirejs r.js