gpt4 book ai didi

maven - 来自 Maven 的参数化 Angular CLI 构建调用(Eirslett 的插件)

转载 作者:行者123 更新时间:2023-12-03 19:35:52 25 4
gpt4 key购买 nike

我正在构建一个打包在 WAR 静态资源中的 Java Web 应用程序。这些静态资源是通过 Angular-CLI 构建的。

Maven 构建通过 Eirslett 的 maven-frontend-plugin 触发 ng 构建,带有 npm 脚本和 npm mojo。

问题是,我想使用自定义 base href取决于 Maven 构建参数,我没有设法通过环境变量或参数将它传递给 ng。

有人能告诉我如何将参数传递给来自 Maven 的 ng 构建吗?

代码:

pom.xml

                 <plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<executions>
<execution>
<id>node install</id>
<phase>generate-resources</phase>
<goals>
<goal>install-node-and-npm</goal>
</goals>
</execution>
<execution>
<id>npm install</id>
<phase>generate-resources</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>--registry=${npm.internal.registry} --userconfig ${basedir}/.jenkins-npmrc install</arguments>
</configuration>
</execution>
<execution>
<id>npm build</id>
<phase>prepare-package</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>--userconfig ${basedir}/.jenkins-npmrc run-script build</arguments>
<environmentVariables>
<test>this-does-not-work</test>
</environmentVariables>
</configuration>
</execution>
<execution>
<id>npm test</id>
<phase>test</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run-script test</arguments>
</configuration>
</execution>
</executions>
<configuration>
<nodeVersion>v8.6.0</nodeVersion>
<npmVersion>5.3.0</npmVersion>
<installDirectory>.</installDirectory>
<nodeDownloadRoot>${node.internal.repo}</nodeDownloadRoot>
<npmDownloadRoot>${npm.internal.registry}/npm/-/</npmDownloadRoot>
<installDirectory>.</installDirectory>
<workingDirectory>.</workingDirectory>
</configuration>
</plugin>

包.json
"scripts": {
(...)
"build": "ng build --prod --env=prod --bh=process.env.test --base-href=process.env.test",
(...)
}

最佳答案

我正在通过 in 解决类似的问题(假设常规 angular-cli build 中的条目 package.json ):

pom.xml

...
<execution>
<id>build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build -- --base-href ${context.root}/</arguments>
</configuration>
</execution>
...

然后您可以控制 <context.root>通过 Maven 配置文件的属性并在父级 Maven 模块中具有默认值 <properties>部分。

关于maven - 来自 Maven 的参数化 Angular CLI 构建调用(Eirslett 的插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49256056/

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