2016-11-06 45 views
0

我使用Spring引导和角1,Maven和Wro4j一个小的web应用程序,我想给一个尝试角2,我是在完全新的。问题涅槃Angular2与Wro4j

我使用Maven/Wro4j 1.8.0在编译时缩小并得到一个单独的js文件以获得角度依赖关系,然后将其用在我的index.html头文件中。虽然它适用于我的角度1应用程序,现在缩小失败。我使用jsMin作为处理器。处理webjar:angular__compiler/2.1.1/bundles/compiler.umd.js时失败。

挖掘wro4j文档,我发现ngAnnotate处理器,这可能是我的问题的解决方案。但我有两个更多的问题有:

  • 我加了NG-注释1.2.1到我的pom.xml因为不满意传递依赖于橡子(wro4j依赖性),但它失败(NG-注释1.2.1 POM取决于橡子[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命令,也没有咕噜声,也没有凉亭,并且从未需要它。

回答

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

+0

感谢您的回答。我完全放弃了这个话题。我不知道我什么时候可以试试这个,但是在此期间,你应该得到+1来复活这个帖子^^。 – Steph