0

当我在本地运行 prod build 时,一切正常。但是,当代码在 jenkins 中构建并部署在 QA 环境中时,我遇到了循环依赖错误。

我尝试了 prod build 并从 dist 文件夹尝试使用 lite-server npm 插件运行应用程序,一切正常,没有任何错误或警告。

在经历了已经提出的问题之后,我理解了这个问题,但我不明白为什么它在本地工作,但在 Jenkins 中的构建服务器完成时却没有。

与本地系统(Windows)相比,角度在詹金(基于unix)中构建应用程序的方式是否不同?

使用 ng new 后生成的默认 angular.json/package.json 进行编辑。

唯一的东西是 APP_INITIALIZER,它在引导 Angular 应用程序和流程之前获取系统级配置,类似于:

AppInitializer --> restConnector(用于进行 BE 调用的服务) --> httpClient 并且一旦在 http 调用的成功块中返回输出,我就会将此信息保存在另一个服务中,如下所示:

appInitializer --> 在服务中存储值,然后使用角度路由器服务重定向。

由于这只会在詹金斯构建中引发错误,因此我什至无法分享复制品。

4

1 回答 1

0

在这里做出预测很难,因为从我的角度来看,我们没有足够的信息来说明正在发生的事情。

您能否向我们提供您正在运行的确切构建命令?还有你的 Angular 版本?可能存在微小但重要的差异。

我可以想象 Jenkins 正在运行 linter,而您的本地构建却没有。这可能是

ng build

ng build --prod

据我所知。但这也取决于您的“脚本绑定”。为此,您还可以附加您的 package.json脚本部分(在最顶部),以检查是否有任何脚本具有与默认脚本不同的绑定。

于 2020-04-02T05:59:13.093 回答