在建设我玩2.3的应用程序(SBT 0.13.5)使用命令“激活阶段”,我发现了错误:路径回退不优化(“重装”)的支持
Optimizing JavaScript with RequireJS
Error: Error: paths fallback not supported in optimizer. Please provide a build config path override for angular-easyfb
build.sbt:
...
"org.webjars.bower" % "angular-easyfb" % "1.3.1"
main.js:
shim: {
'angular': {
deps: ['jquery'],
exports: 'angular'
},
...
'angular-easyfb': ['angular']
},
paths: {
...
'angular': ['../lib/angularjs/angular'],
'angular-easyfb': ['../lib/angular-easyfb/angular-easyfb'],
...
}});
在开发模式下,一切工作正常。即使在生产模式下(例如,“org.webjars”%“angular-elastic”%“2.4.2”),我的其他基于webjar的js-libs也能正常运行。
Google和SO为我提供了很多“优化器不支持路径回退”的结果。 似乎有些人找到了解决方案,但其他人却没有。
我如何(作为Java和Javascript的家伙)系统地分析问题是什么?
另一种方式来解决它是编辑build.sbt 'RjsKeys.paths + = (“angular-easyfb” - >(“../lib/angular-easyfb/angular-easyfb” - >“[某些CDN网址在这里]”))' – MipH
好的,但现在什么解决方案是首选?图书馆或优化过程有什么不同或有其他影响? – icl7126
@ icl7126这取决于您在项目中如何使用RJS。例如:'pipelineStages:= Seq(rjs,digest,gzip)' - 对于这种情况,RJS会将所有LOCAL js文件(不包含在main.js中的方形文件夹中)压缩到一个main.js并发送用户gziped和正确的缓存/摘要头(缓存策略)。 但是所有CDN文件(它们在main.js中的方形文件夹中)将与公共CDN服务器分开加载,而不会受到RJS(较少请求到服务器)的影响。 – MipH