2017-04-26 10 views
0

私はangular-cliとwebpack2を使用するAngular 4アプリケーションで作業しています。Angular 4、ngの構築中に予期しないトークンエラー--prod

私は次のエラーがスローされng build --prodを実行したときに、私は成功した、しかしng build

でプロジェクトをビルドすることができます。UglifyJs予期しない トークンからmain.50d83f3f70f7e607ec7a.bundle.jsで

ERROR:名前を(FilterPipe)[main.50d83f3f70f7e607ec7a.bundle.js:7,6]

私は何が間違っているのか分かりません。 UglifyはまだサポートES6構文をdoesntのため、この問題が発生した

import {Pipe, PipeTransform } from '@angular/core'; 

@Pipe({ 
    name: 'filter' 
}) 

export class FilterPipe implements PipeTransform { 
    transform(items: any[], field : string, value : string): any[] { 
     if (!items) return []; 
     return items.filter(it => it[field] == value); 
    } 
} 
+3

チェック、 。 –

答えて

2

:ここ

は私のfilter.pipe.tsファイルです。

https://github.com/angular/angular-cli/issues/1663

修正tsconfig.jsonは、 "ターゲット" というFR必ずチェックする: "ES5" は、例があります:uglifyの問題を知られており、あなたのターゲットはES6ではないことを

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "outDir": "./dist/out-tsc", 
    "baseUrl": "src", 
    "sourceMap": true, 
    "declaration": false, 
    "moduleResolution": "node", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "target": "es5", 
    "typeRoots": [ 
     "node_modules/@types" 
    ], 
    "lib": [ 
     "es2016", 
     "dom" 
    ] 
    } 
} 
+0

tsconfig.jsonを "target": "es5"に変更しましたが、このエラーが発生しています。これが確実に動作するために必要な追加手順はありますか? –

+0

@JustinGrahn私は同様の問題に直面しています。あなたは解決策を見つけることができましたか? – kds23

+0

@ kds23 oh boy、私はしましたが、一度に複数の問題が起こっていたので、私は戻ってみましょう。最初の問題はUglifyの別のバージョンを強制することで解決されたと思います。周囲を検索しますが、これがなぜ必要なのかを詳述するAngularまたはTypescriptスレッドがあります。第二に、JITコンパイラは、私のコンポーネントhtmlがプライベート変数を参照することを許可していました。何らかの理由で、-prodフラグが使用するAOTコンパイラでコンパイルするときに実際には許可されません。 HTML。私はUglifyバージョンがあなたの最善の策だと思う –

関連する問題