gpt4 book ai didi

javascript - 优化器 ("reloaded"不支持路径回退)

转载 作者:行者123 更新时间:2023-11-30 16:45:07 25 4
gpt4 key购买 nike

在使用命令“activator stage”构建我的 Play 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

构建.sbt:

...
"org.webjars.bower" % "angular-easyfb" % "1.3.1"

主要.js:

shim: {
'angular': {
deps: ['jquery'],
exports: 'angular'
},
...
'angular-easyfb': ['angular']
},
paths: {
...
'angular': ['../lib/angularjs/angular'],
'angular-easyfb': ['../lib/angular-easyfb/angular-easyfb'],
...
}});

在开发模式下一切正常。我的其他基于 webjar 的 js-libs 运行良好,即使在生产模式下也是如此(例如,“org.webjars”%“angular-elastic”%“2.4.2”)。

Google 和 SO 给了我很多关于“优化器不支持的路径回退”的结果。似乎有些人找到了解决方案,但有些人没有。

我(作为 Java 和 Javascript 专家)如何系统地分析问题所在?

最佳答案

看看这个帖子:How to use RequireJS optimizer in Play framework?

It turns out that RequireJS optimization support does not apply to all Webjars, but rather limited to Classic Webjars.

有一些解释。如果你看http://mvnrepository.com/artifact/org.webjars.bower/angular-easyfb/1.3.1它是 jar 文件,您不会在其中看到任何 webjars-requirejs.js。所以这是你的情况,默认情况下 webjar 与 requirejs 不兼容。

还有一件事:

Remember to have square brackets, otherwise CDN replacement will not happen. For the non-requirejs ready scripts, you should not have square brackets when declaring the paths. Otherwise, rjs will refuse to build with error path fallback not supported.

因此尝试从路径中删除方括号:

'angular-easyfb': '../lib/angular-easyfb/angular-easyfb',

关于javascript - 优化器 ("reloaded"不支持路径回退),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31368029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com