在Angular(> = 2)应用程序中,如何将版本信息从npm package.json文件包含到已编译的输出文件中?

信息:

  1. 我已经使用@angular/cli创build了一个Angular(版本> = 2)应用程序。

  2. 此应用程序正在进行版本更改。

  3. 我使用命令npm version majornpm version minornpm version patch ,将我的应用程序的语义版本信息更新到我的package.json文件中。

  4. 当我运行ng buildng build --prod时,我无法在“dist”输出文件夹的任何文件中find这个版本信息。

题:

有没有办法把我的应用程序的版本信息自动从package.json文件到一个输出文件(也许在一个html文件或js文件)?

来自我的package.json文件的示例:

 { "name": "angular-ui", "version": "17.6.27", "description": "My awesome UI application", "license": "MIT", ... } 

理想情况下,我想创build一个“关于”组件,我想在我访问类似于以下URL的URL时发布我的应用程序的版本信息:

HTTP://本地主机:4200 /约

页面上的预期输出:

 Application version: v17.6.27 

你可以创build一个自定义的脚本,从你的package.json中读取信息并运行echo "export const APP_VERSION = $version" > src/app/version.ts

然后在构build之前调用这个脚本。

如果使用ng-cli创build应用程序,则应该已经在package.json中包含脚本条目。 就像是 :

 "scripts": { "ng": "ng", "changelog": "standard-changelog", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, 

你可以用类似的东西replace构build

 "scripts": { "build": "sh version-script.sh && ng build", } 

我认为你可以find一些比较差的script.sh更好用的工具,并在构build之前连线它们。