Angular ng build——来自UglifyJs的产品错误
我用angular cli创建了一个项目 ng build没问题。出乎意料的是,当我使用ng build--prod时,会出现以下错误:Angular ng build——来自UglifyJs的产品错误,angular,angular-cli,Angular,Angular Cli,我用angular cli创建了一个项目 ng build没问题。出乎意料的是,当我使用ng build--prod时,会出现以下错误: ERROR in vender.d6758a1e6b8a2151c741.bundle.js from UglifyJs Unexpected character '`' 我在谷歌上搜索并找到一些解决方法 “目标”:tsconfig.json文件中的“es5”,但默认情况下目标为es5。我不知道我的代码中是否有问题或使用了错误的设置 "dependencie
ERROR in vender.d6758a1e6b8a2151c741.bundle.js from UglifyJs
Unexpected character '`'
我在谷歌上搜索并找到一些解决方法
“目标”:tsconfig.json文件中的“es5”,但默认情况下目标为es5。我不知道我的代码中是否有问题或使用了错误的设置
"dependencies": {
"@angular/animations": "^4.0.1",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"core-js": "^2.4.1",
"primeng": "^2.0.1",
"rxjs": "^5.1.0",
"underscore": "^1.8.3",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "1.0.0",
"@angular/compiler-cli": "^4.0.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"@types/underscore": "^1.8.0",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-coverage-istanbul-reporter": "^0.2.0",
"protractor": "~5.1.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0",
"typescript": "~2.2.0"
}
谢谢大家! 在Webpack.prod.js中更改如下配置
plugins: [
new webpack.NoEmitOnErrorsPlugin(),
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
mangle: {
keep_fnames: true
}
}),
new ExtractTextPlugin('[name].[hash].css'),
new webpack.DefinePlugin({
'process.env': {
'ENV': JSON.stringify(ENV)
}
}),
new webpack.LoaderOptionsPlugin({
htmlLoader: {
minimize: false // workaround for ng2
}
})
]
一旦使用ng eject从angular cli中弹出webpack.js,我们将丢失ng build、ng serve和其他angular cli命令。因此,我将推荐以下方法 要修复意外的字符“`”问题,请执行以下操作: a。在package.json中将@angular/cli更新为1.5-rc.0版本:它修复了意外的令牌“`”问题 b。更新tsconfig.json以指向es2015依赖项: “目标”:“es2015”, “lib”:[ “es2015”, “dom” ] 这是一个有效的解决方案
请参阅:我遇到了相同的问题,实际上,要修复此错误,只需在production.js文件中添加解决方法,由@Vignesh给出:
htmlLoader: {
minimize: false
}
是的,在对这个问题做了许多小时的研究之后,我们终于找到了答案 第一个简单的安装“uglify js” npm安装uglify js-g 如果这不能解决这个问题,请在
uglifyjs网页包插件中/uglifyjs网页包插件/blob/v0.4.6/src/index.js#L90)
而不是ast=compress.compress(ast)代码>该行应该是
ast=ast.transform(压缩)代码>
在大多数情况下,如果上述操作不起作用,则需要将angular版本升级到最新版本,并且必须将所有项目文件复制到新创建的文件夹中。这将毫无疑问地起作用,并将为您节省大量宝贵的研究时间。您能将其作为答案吗