我们已经有一个带有require.js的AMD实现,它已经使用了很长时间,现在团队决定使用r.js优化器来优化构建。我正在遵循这些步骤,但我认为我错过了一些东西:
我们有require.config,如下所示:
require.config({
waitSeconds : 15,
baseUrl: window.rootPath + 'scripts',
paths: {
jquery: 'empty:',
jqueryui: 'empty:',
recaptcha: '//www.google.com/recaptcha/api/js/recaptcha_ajax',
maxmind: '//j.maxmind.com/app/geoip',
enduser: '/enduser/scripts/system',
cookies: '/enduser/scripts/system/cookies',
errorhandler: '/enduser/scripts/system/errorhandler',
underscore: '/enduser/scripts/underscore',
blockui: '/enduser/scripts/jquery.blockui',
messaging: '/enduser/scripts/system/messaging',
jgrowl: '/enduser/scripts/jquery.jgrowl',
knockout: 'knockout-latest.debug',
kobindings: '/enduser/scripts/system/bindings',
async: 'plugins/require/async',
depend: 'plugins/require/depend',
font: 'plugins/require/font',
goog: 'plugins/require/goog',
image: 'plugins/require/image',
json: 'plugins/require/json',
noext: 'plugins/require/noext',
mdown: 'plugins/require/mdown',
propertyParser: 'plugins/require/propertyParser',
markdownConverter: 'lib/Markdown.Converter'
},
priority: ['jquery']
});
require(["main"]);
请注意,它有CDN路径而不是“空”。但在网上阅读了一些帖子后,我在那里换了空。我正在执行以下命令:
node -o name="filepath" output="output file path"
它说跟踪依赖项然后它会抛出一个错误,说它找不到jquery.js。有什么建议吗?
答案 0 :(得分:3)
基本上,解决方案是在命令末尾包含paths.jquery = empty:所以我的命令看起来像node -o name =“filepath”output =“output file path”paths.jquery = empty:。这也适用于您正在使用的任何CDN,包括Jquery。