2017-10-12 7 views
0

Ich habe eine Angular 4-Anwendung.Angular 4, Unexpected token: name (Subject) während ng build --prod

Ich kann das Projekt erfolgreich mit ng build

Aber bauen, wenn ich ng build --prod den folgenden Fehlern laufe geworfen wird.

ERROR in vendor.4008cf7dff2b98412878.bundle.js von UglifyJs Unexpected token: Name (Subject) [vendor.4008cf7dff2b98412878.bundle.js: 19471,6]

Als ich tat etwas Forschung Ich habe gesehen, dass uglifyjs nicht mit es6 funktioniert und ich habe das Ziel in meiner tsconfig-Datei in es5 geändert.

Aber ich bekomme diesen Fehler immer wieder.

Ich verstehe nicht, was falsch ist.

Hier Winkel-cli Version

Angular CLI Version

Hier ist meine tsconfig.json Datei

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

Und hier ist mein Winkel cli.json Datei

{ 
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 
    "project": { 
    "name": "myapp" 
    }, 
    "apps": [ 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": [ 
     "assets", 
     "favicon.ico" 
     ], 
     "index": "index.html", 
     "main": "main.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app", 
     "styles": [ 
     "styles.css", 
     "../node_modules/sweetalert2/dist/sweetalert2.css", 
     "../node_modules/ladda/dist/ladda-themeless.min.css" 
     ], 
     "scripts": [ 
     "../node_modules/crypto-js/crypto-js.js", 
     "../src/assets/js/jquery-2.1.1.js", 
     "../src/assets/js/plugins/datatables/jquery.dataTables.min.js", 
     "../src/assets/js/plugins/datatables/dataTables.fixedColumns.min.js", 
     "../src/assets/js/bootstrap.min.js", 
     "../src/assets/js/plugins/metisMenu/jquery.metisMenu.js", 
     "../src/assets/js/plugins/mask/jquery.mask.min.js", 
     "../src/assets/js/plugins/slimscroll/jquery.slimscroll.min.js", 
     "../src/assets/js/plugins/chartJs/Chart.min.js", 
     "../src/assets/js/plugins/toastr/toastr.min.js", 
     "../src/assets/js/plugins/datepicker/bootstrap-datepicker.js", 
     "../src/assets/js/plugins/datepicker/bootstrap-datepicker.tr.js", 
     "../src/assets/js/plugins/datetimepicker/jquery.datetimepicker.full.min.js", 
     "../src/assets/js/plugins/iCheck/icheck.min.js", 
     "../src/assets/js/plugins/chosen/chosen.jquery.min.js", 
     "../src/assets/js/plugins/jsTree/jstree.min.js", 
     "../src/assets/js/plugins/nestable/jquery.nestable.js", 
     "../src/assets/js/plugins/colorpicker/bootstrap-colorpicker.min.js", 
     "../src/assets/js/jasny-bootstrap.min.js", 
     "../src/assets/js/inspinia.js", 
     "../src/assets/js/custom.js" 
     ], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "lint": [ 
    { 
     "project": "src/tsconfig.app.json", 
     "exclude": "**/node_modules/**" 
    }, 
    { 
     "project": "src/tsconfig.spec.json", 
     "exclude": "**/node_modules/**" 
    }, 
    { 
     "project": "e2e/tsconfig.e2e.json", 
     "exclude": "**/node_modules/**" 
    } 
    ], 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "css", 
    "component": {} 
    } 
} 

Antwort

0

Ich habe dieses Problem gelöst.

Ich verwendete dieses "aspnet/signalr-client" Paket. Ich habe das Paket von meiner Anwendung entfernt und das Problem ist gelöst.

Jetzt kann ich erfolgreich das Projekt mit ng build --prod Befehl erstellen.

2

Führen Sie ng build --prod --sm aus, um das Paket zu identifizieren, das das Problem verursacht.

Dann müssen Sie eine Problemumgehung finden. Das ist die Herausforderung ...