我有一个使用Spring Boot和Angular 1,Maven和Wro4j的小型网络应用程序,我想试试Angular 2,我是全新的。
我使用Maven / Wro4j 1.8.0在编译时缩小并获得角度依赖的单个js文件,然后我在index.html标头中使用它。虽然它适用于我的角度1应用程序,但缩小现在失败了。我使用jsMin
作为处理器。处理webjar:angular__compiler/2.1.1/bundles/compiler.umd.js
时失败。
在wro4j doc中,我找到了ngAnnotate
处理器,这可能是我问题的解决方案。但我还有两个问题:
ngAnnotate
添加到处理器列表(jsMin
之前)之后,我收到以下错误消息:此环境不支持处理器
它似乎试图运行ng-annotate并且找不到它。 Wro4j文档指出“实现假定已安装所需的npm”。我认为(错误地,似乎)将ng-annotate webjar添加到pom就足够了。我错过了什么?
注意:我真的想继续让Maven处理以前工作过的所有配置(Java和Js),而不是切换到js依赖解决方案。我从未使用任何npm命令,也没有使用过grunt,也没有使用过bower,到目前为止从未需要它。
答案 0 :(得分:1)
wro4j使用ng-annotate的方式,它只是在项目文件夹中执行命令ng-annotate
。
所以这可能是由于你的PATH变量未正确配置而且没有引用包含ng-annotate的文件夹,无论你是通过webjar还是npm安装它。
例如,如果使用Eclipse配置,则可以在“环境”选项卡中重新设置PATH变量。
找出正确的道路:
对于webjar,请搜索提取ng-annotate npm可执行文件的位置。
对于NPM,打开终端,查看ng-annotate是否有效(必须使用npm install -g ng-annotate
全局安装),然后显示env变量:echo $PATH
或可执行文件的路径:which ng-annotate
我遇到了同样的错误,在我的情况下,Maven没有在PATH中引用/usr/local/bin
。