9

我正在尝试为我的 Angular 6 应用程序生成 stats.json 文件。下面我已经尝试过,但文件根本没有生成。我的系统需要在每个 angular cli 命令之前都有“npm run” 。

  1. 我已经运行了"npm run ng build --prod --stats-json""npm run ng build --prod --stats-json=true"

  2. 我已经运行了“npm run ng build --stats-json”“npm run ng build --stats-json=true”(没有 build 命令)。

  3. 通过参考 cli 文档使用“npm run ng build --statsJson=true” 。

但仍然没有生成 stats.json 文件,我想使用 webpack 包分析器读取它。欢迎在这方面提供任何帮助、建议或更正。

以下是我的 package.json 中的脚本。

“脚本”:{

"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"gulp": "gulp",
"bundle-report": "webpack-bundle-analyzer dist/stats.json",
"stats": "webpack-bundle-analyzer dist/stats.json"

},

4

5 回答 5

10

我发现我的在 /dist。

这意味着如果您查看 git 是否出现更改,它可能会被忽略。

于 2021-05-28T13:21:06.603 回答
5

检查你的 package.json 应该有一个像下面这样的脚本部分,

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

如果它然后运行

npm run build -- --statsJson=true

如果您的脚本不同,请发布您的 packageJSon 中的脚本部分,将基于此更新答案

于 2019-11-04T13:06:10.673 回答
1

当我运行这个命令时:

npm run build --stats-json,

它生成了一个名为:

stats-es2015.json

然后,一切都很好,当我跑的时候:

npm run webpack-bundle-analyzer dist/PROJECT_NAME/stats-es2015.json

我的环境是:

"@angular/core": "~9.0.6",
"webpack-bundle-analyzer": "^4.4.2"
于 2021-07-02T18:57:31.133 回答
0

我不知道该参数--statsJson=true是否在较新版本的 CLI 中不可用,或者是因为我正在使用 NX 构建我的应用程序,但无论如何,这是使它工作的方法:

  • 打开angular.json文件
  • 在JSON结构中转到projects/////[YOUR-APP]architectbuildconfigurationsproduction
  • 在这个 JSON 对象中添加一个新键:"statsJson": true

启动您的构建,不要忘记使用正确的环境启动它。在这种情况下production,我需要--prod在构建应用程序时传递参数,否则它将选择另一个没有新标志的配置"statsJson": true

于 2021-06-19T09:04:58.170 回答
-1

请查看我的简单解决方法,该解决方法可用于创建清单并通过 ie Node.js 应用程序读取其内容。

https://www.npmjs.com/package/ng-manifest

于 2020-03-27T14:41:33.537 回答