gpt4 book ai didi

java - 使用 Wro4j 缩小 Angular2 时出现的问题

转载 作者:行者123 更新时间:2023-12-01 09:17:20 25 4
gpt4 key购买 nike

我有一个使用 Spring Boot 和 Angular 1、Maven 和 Wro4j 的小型 Web 应用程序,我想尝试一下 Angular 2,因为我对它完全陌生。

我使用 Maven/Wro4j 1.8.0 在编译时进行缩小,并获取一个用于 Angular 依赖关系的 js 文件,然后在我的 index.html header 中使用该文件。虽然它适用于我的 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 Central上没有这样的版本)。为了解决这个问题,我编辑了 ng-annotate pom 以使用 acorn 2.7.0,这可能不是最好的解决方案。
  • 确定我的依赖项并将 ngAnnotate 添加到处理器列表(在 jsMin 之前)后,我收到以下错误消息:

processor is not supported on this environment

它似乎尝试运行 ng-annotate 但没有找到它。 Wro4j 文档指出“该实现假设已安装所需的 npm”。我认为(似乎是错误的)将 ng-annotate webjar 添加到 pom 就足够了。我错过了什么?

注意:我真的很想继续让 Maven 处理所有以前有效的配置(Java 和 Js),而不是切换到 js 依赖解决方案。我从未使用过任何 npm 命令,也没有使用过 grunt,也没有使用过 Bower,而且到目前为止也从未需要过它。

最佳答案

wro4j 与 ng-annotate 一起工作的方式,它只是在项目文件夹中执行命令 ng-annotate

所以这可能是由于您的 PATH 变量配置不正确,并且无论您是通过 webjar 还是 npm 安装它,都没有引用包含 ng-annotate 的文件夹。

例如,如果您使用 Eclipse 配置,则可以在“环境”选项卡中重新设置 PATH 变量。

找出正确的路径:对于 webjar,请搜索 ng-annotate npm 可执行文件的提取位置。对于 NPM,打开终端,查看 ng-annotate 是否工作(必须使用 npm install -g ng-annotate 全局安装),然后显示环境变量:echo $PATH 或可执行文件的路径:which ng-annotate

我遇到了同样的错误,在我的例子中,Maven 没有在 PATH 中引用 /usr/local/bin

关于java - 使用 Wro4j 缩小 Angular2 时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40449956/

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