2017-04-13 8 views
2

私はangular-cliを使ってプロジェクトを作成しましたが、 ng buildは問題ありません。私はNGビルド--prodを使用するときに予期せず、エラーを取得:ng build --prod ERROR from UglifyJs

ERROR in vender.d6758a1e6b8a2151c741.bundle.js from UglifyJs 
Unexpected character '`' 

私はGoogleといくつかは、「ターゲット」 を変更する方法を解決見つける: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" 
} 

ありがとうございます!

答えて

3

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 
     } 
    }) 
    ] 
+0

あなたはそれを作るだろう答えとして – Vignesh

0

ng ejectを使用してangular-cliからwebpack.jsを取り出したら、ng build、ng serveおよび他の角度cliコマンドを失います。したがって、予期しない文字の「 '」問題を修正するには、 というアプローチに従うことをお勧めします。

a。 package.jsonで@alang/cliを1.5-rc.0のバージョンに更新する:予期しないトークンの `` '問題に対する修正がある

b。 "ターゲット" を::es2015の依存関係を指すようにtsconfig.jsonの更新 "es2015"、 "LIB":[ "es2015"、 "DOM" ]

これが働いて修正です。

は参照してください:https://github.com/angular/angular-cli/issues/7756

0

を、私は同じ問題を抱えていたし、実際に、このエラーを修正するために、単に@Vigneshによって与えられたproduction.jsファイルに回避策を追加します。

htmlLoader: { 
     minimize: false 
    } 
関連する問題