Estoy trabajando en una aplicación Angular 4 que utiliza angular-cli y webpack2.
Puedo construir con éxito el proyecto con ng build
Sin embargo, cuando ejecuto ng build --prod , aparece el siguiente error:
ERROR en main.50d83f3f70f7e607ec7a.bundle.js de UglifyJs Token inesperado: nombre (FilterPipe) [main.50d83f3f70f7e607ec7a.bundle.js:7,6]
No entiendo lo que está mal.
Aquí está mi archivo filter.pipe.ts :
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); } }Esto sucede porque Uglify aún no es compatible con la sintaxis es6.
https://github.com/angular/angular-cli/issues/1663
Modifique tsconfig.json para comprobar si está seguro de que "objetivo": "es5", existe. Ejemplo:
{ "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" ] } }