Node.js 在Angular(>;=2)应用程序中,如何将npm package.json文件中的版本信息包含到编译的输出文件中?
信息:Node.js 在Angular(>;=2)应用程序中,如何将npm package.json文件中的版本信息包含到编译的输出文件中?,node.js,angular,npm,webpack,package.json,Node.js,Angular,Npm,Webpack,Package.json,信息: Application version: v17.6.27 我已经使用@Angular/cli创建了一个Angular(version>=2)应用程序 此应用程序正在进行版本更改 我确实使用命令npm version major或npm version minor或npm version patch在package.json文件中更新了应用程序的语义版本信息 当我运行ng build或ng build--prod时,在“dist”输出文件夹中的任何文件中都找不到此版本信息 问题: Ap
Application version: v17.6.27
@Angular/cli
创建了一个Angular(version>=2)应用程序npm version major
或npm version minor
或npm version patch
在package.json
文件中更新了应用程序的语义版本信息ng build
或ng build--prod
时,在“dist”输出文件夹中的任何文件中都找不到此版本信息Application version: v17.6.27
有没有办法将我的应用程序的版本信息从package.json文件自动带入其中一个输出文件(可能在html文件或js文件中)
我的package.json
文件中的示例:
{
"name": "angular-ui",
"version": "17.6.27",
"description": "My awesome UI application",
"license": "MIT",
...
}
理想情况下,我希望创建一个“关于”组件,在访问类似以下URL时,我希望在其中发布应用程序的版本信息:
页面上的预期输出:
Application version: v17.6.27
您可以创建一个自定义脚本,从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更好的奇特工具,并在构建之前将它们连接起来。这看起来是个好主意。谢谢@Noémi Salaün,我会尝试一下,让你知道这是怎么回事。