Angular5:供应商包未在 Jenkins 构建中更新

Posted

技术标签:

【中文标题】Angular5:供应商包未在 Jenkins 构建中更新【英文标题】:Angular5: Vendor bundle not getting updated in Jenkins build 【发布时间】:2018-10-02 07:31:12 【问题描述】:

我有一个angular5 应用程序,我使用webpack 捆绑器和yarn 包管理器。我通过运行以下命令来设置应用程序:

yarn global add @angular/cli@latest

yarn

它安装angular-cli,所有各自的依赖项/库并链接依赖项。当我运行ng serve 时,应用程序运行良好,当我运行ng build --aot 时,应用程序构建良好并且构建运行也很完美。

但是当我运行相同的命令来使用下面的 Jenkins 作业运行我的构建时,它没有正确更新供应商捆绑包,因为应用程序的某些部分无法正常工作,尤其是 highcharts

yarn global add @angular/cli@latest

yarn

ng build --aot

我什至尝试过 ng build --aot --vendor-chunks=true ,但我本地构建中的 vendor.jsvendor.map.js 文件与 jenkins 构建中的文件不同。

我确实删除了所有 node_modules ,并运行了上述命令,但仍然没有区别。我可以看到的另一个大区别是我在本地机器上的 node_modules 大约有 1535 个包,而 jenkins 工作区上的一个只有 1505 个。我验证了大多数主要包,尤其是 highchartshighmaps。但它们确实存在。

我在这里缺少什么?是参数问题还是缺少其他可安装的。我也在使用anglar-cli 1.7.4 版、yarn 1.6.0 和webpack 最新版本。

【问题讨论】:

文件是否有可能只是被缓存在浏览器中?您是否有理由不运行ng build --prod?最好获取缓存破坏名称。 github.com/angular/angular-cli/wiki/build 不,它不是缓存。我并排比较了这些文件,它们是不同的。我也尝试删除所有浏览器历史记录。使用 ng build --prod ,但没有区别 【参考方案1】:

问题最终是angular-highcharts 版本。将其从5.2.12 降级为5.2.1 使其正常工作。

【讨论】:

以上是关于Angular5:供应商包未在 Jenkins 构建中更新的主要内容,如果未能解决你的问题,请参考以下文章

NPM 包未在 Angular 生产应用程序中导入

iOS SKMaps 下载的地图包未在离线模式下显示

ngx-bootstrap 下拉菜单未在 Angular 5 项目中打开

Sonarscanner MSBuild 工具未在管道中运行 - Jenkins

未在 libtool 包装器脚本中添加到 LD_LIBRARY_PATH 的已构建库目录

升级到 Gradle 6 后,上传的 War 或 Tar 信息未在 Jenkins 控制台上打印