Angular 在我使用 "prod" 标志构建后,应用未被丑化
Angular app is non-uglified after I build with "prod" flag
我是 运行 Angular 7. 我的 production
构建设置包含键 optimization=true
和 buildOptimizer=true
。我将在底部包含 angular.json
文件的一大块完整 production
配置部分。
我是 运行 AWS Amplify 上的自动构建。我还将在底部包含构建配置,但实际上它运行 npm run build --prod
。
问题是在构建成功后,我可以导航到我的 Web 应用程序并且仍然看到所有未丑化的源代码(通过转到 Chrome 开发人员控制台并查看 webpack
目录)。无法确定我做错了什么。
angular.json
:
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
],
"serviceWorker": true
}
构建脚本:
version: 0.1
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run build --prod
artifacts:
baseDirectory: dist/myprojectname
files:
- '**/*'
cache:
paths:
- node_modules/**/*
为什么不使用 Angular-CLI?。
只需命令
ng build --prod
我认为您的 'npm run build --prod' 是自定义命令。
因此,prod 标志未定义。不是吗?
如果您使用的是 webpack,请尝试使用 devtool 选项 devtool: "hidden-source-map"
作为解决方法。
我是 运行 Angular 7. 我的 production
构建设置包含键 optimization=true
和 buildOptimizer=true
。我将在底部包含 angular.json
文件的一大块完整 production
配置部分。
我是 运行 AWS Amplify 上的自动构建。我还将在底部包含构建配置,但实际上它运行 npm run build --prod
。
问题是在构建成功后,我可以导航到我的 Web 应用程序并且仍然看到所有未丑化的源代码(通过转到 Chrome 开发人员控制台并查看 webpack
目录)。无法确定我做错了什么。
angular.json
:
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
],
"serviceWorker": true
}
构建脚本:
version: 0.1
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run build --prod
artifacts:
baseDirectory: dist/myprojectname
files:
- '**/*'
cache:
paths:
- node_modules/**/*
为什么不使用 Angular-CLI?。
只需命令
ng build --prod
我认为您的 'npm run build --prod' 是自定义命令。 因此,prod 标志未定义。不是吗?
如果您使用的是 webpack,请尝试使用 devtool 选项 devtool: "hidden-source-map"
作为解决方法。