2016-12-02 11 views
0

角2(cli)で、ng build --prodを実行すると、非常に奇妙なエラーが発生し、エラーではないと思われます。角2プロビルド - Uglifyエラーデバッグ

彼は、このファイルの5行目に何か問題があると言う:

import { Injectable } from '@angular/core'; 
    import * as io from "socket.io-client"; 

    @Injectable() 
    export default class SocketService { 

     socket; 
     // 
     // constructor() {} 
     // 
     init() { 
     //  this.socket = io('localhost:3000'); 
     } 
    } 

それは、このエラーを与える:

ERROR in main.b1e7bf5cf9ed04b8ff8d.bundle.js from UglifyJs 
SyntaxError: Unexpected token: name (SocketService) 
[/Users/kewinbrandsma/Projects/TradeJS/~/angular2-template-loader!/Users/kewinbrandsma/Projects/TradeJS/src/client/app/services/socket.service.ts:5,0][main.b1e7bf5cf9ed04b8ff8d.bundle.js:3265,4 

NGでそれを実行している間は(DEVモード)をサーブでエラーを与えませんすべてが完璧に動作します。だから、本当にUglifyJSは好きではない。

エラースタックには、 'pre-compiled bundle.js'の行番号が表示されます。 (main.b1e7bf5cf9ed04b8ff8d.bundle.js:3265,4)、私はファイルを見つけることができないように見えます。おそらくまだメモリ内にしか存在しません。

ビルドに失敗した後は常に破棄されるのですか、またはuglifyが文句を言ってもディスクに書き込む方法はありますか?落札原因それは不可能Uglifyエラーをデバッグする


今のところそう https://github.com/angular/angular-cli/issues/1333

で何かのTODOを持っているだけで実行しているようだ

1、私は完全にwebpack-でUglifyを無効にし、構築する(どれも縮小さありません) build-production.js ..しかし、このファイルは角度のあるnode_modulesに存在するので、まったく解決できません。

答えて

0

さらに多くのことを掘り下げた後、tsconfigをターゲットに設定することがわかりました。「es5」はそれを解決します。私が直面していた問題は、typescriptがまだes5で非同期/待機をサポートしていないことです。ターゲットを使用できませんでした: "es5" ..

nscpmパッケージとしてtypescript @ rcをインストールしました!新しい2.1バージョンは、es5モードでasync/awaitをサポートしています。

このパッケージは、今後数ヶ月以内にリリースされる予定です。