我有一个使用 Spring Boot 和 Angular 1、Maven 和 Wro4j 的小型 Web 应用程序,我想尝试 Angular 2,我是全新的。
我在编译时使用 Maven/Wro4j 1.8.0 进行缩小,并为角度依赖获取单个 js 文件,然后在我的 index.html 标头中使用该文件。虽然它适用于我的 angular 1 应用程序,但现在缩小失败。我jsMin
用作处理器。处理时失败webjar:angular__compiler/2.1.1/bundles/compiler.umd.js
。
在 wro4j 文档中挖掘,我找到了ngAnnotate
处理器,这可能是我的问题的解决方案。但我还有两个问题:
- 我将 ng-annotate 1.2.1 添加到我的 pom.xml(wro4j 依赖项)中,但由于对 acorn 的传递依赖不满足而失败(ng-annotate 1.2.1 pom 依赖于 acorn [2.6.4,2.7),并且有Maven 中心没有这样的版本)。为了规避这个问题,我编辑了 ng-annotate pom 以使用 acorn 2.7.0,这可能不是最好的解决方案。
- 在获得我的依赖并添加
ngAnnotate
到处理器列表(之前jsMin
)之后,我收到以下错误消息:
此环境不支持处理器
似乎它试图运行 ng-annotate 并没有找到它。Wro4j 文档指出“实现假定已安装所需的 npm”。我认为(错误地,似乎)将 ng-annotate webjar 添加到 pom 就足够了。我错过了什么?
注意:我真的很想继续让 Maven 处理以前工作的所有配置(Java 和 Js),而不是切换到 js 依赖解决方案。我从来没有使用过任何 npm 命令,也没有使用过 grunt,也没有使用过 bower,而且到目前为止我也从来不需要它。