信息:
我使用@angular/cli
创建了一个Angular(版本> = 2)应用程序。
此应用程序正在进行版本更改。
我确实使用package.json
或npm version major
或npm version minor
命令在我的npm version patch
文件中更新了我的应用程序的语义版本信息。
当我运行ng build
或ng build --prod
时,我无法在“dist”输出文件夹中的任何文件中找到此版本信息。
问题:
有没有办法将我的应用程序的版本信息自动从package.json文件导入其中一个输出文件(可能在html文件或js文件中)?
来自我的package.json
文件的示例:
{
"name": "angular-ui",
"version": "17.6.27",
"description": "My awesome UI application",
"license": "MIT",
...
}
理想情况下,我想创建一个“about”组件,当我访问类似于以下内容的URL时,我想发布应用程序的版本信息:
页面上的预期输出:
Application version: v17.6.27
答案 0 :(得分:2)
您可以创建一个自定义脚本,该脚本将从package.json读取信息并运行echo "export const APP_VERSION = $version" > src/app/version.ts
。
然后在构建之前调用此脚本。
如果使用ng-cli创建应用程序,则应该已经在package.json中创建了脚本条目。类似的东西:
"scripts": {
"ng": "ng",
"changelog": "standard-changelog",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
您可以用
之类的内容替换构建"scripts": {
"build": "sh version-script.sh && ng build",
}
我认为你可以找到一些比糟糕的script.sh更好的工具,并在构建之前连接它们。