Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Angular(>;=2)应用程序中,如何将npm package.json文件中的版本信息包含到编译的输出文件中?_Node.js_Angular_Npm_Webpack_Package.json - Fatal编程技术网

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,我会尝试一下,让你知道这是怎么回事。