2016-07-10 17 views
0

Ich versuche, meine Knoten Typescript-Anwendungen (mit exprees js Server) auf ES2015 mit Webpack migrieren. Zunächst möchte ich die Eigenschaften Typen verwenden. Ich habe gegründet, als ich babel-loader und eslint benutzen muss. Also, ich installiert diese Pakete und setzen es auf meine ausdrückliche App .:Webpack mit den Property-Typen babel-loader

Das ist mein webpack.config.js

const webpack = require('webpack'); 
const WebpackErrorNotificationPlugin = require("webpack-error-notification"); 
module.exports = 
{ 
    entry: './src/test/test.js', 
    target: 'node', 
    debug: true, 
    output: { 
     path: './bin', 
     filename: 'test.bundle.js', 
    }, 
    module: { 
     preLoaders: [{ 
      test: /\.js?$/, 
      loaders: ['eslint'], 
      exclude: /node_modules/ 
     }], 
     loaders: [{ 
      test: /\.js?$/, 
      exclude: /node_modules/, 
      loader: 'babel', 
     }] 
    }, 
    eslint: { 
     failOnWarning: false, 
     failOnError: true 
    }, 
    plugins: [ 
     new webpack.optimize.UglifyJsPlugin({ 
      compress: { 
       warnings: false, 
      }, 
      output: { 
       comments: false, 
      }, 
     }), 
     new WebpackErrorNotificationPlugin() 
    ] 
} 

.eslintrc

{ 
    "parser": "babel-eslint", 
    "parserOptions": { 
    "sourceType": "module", 
    "allowImportExportEverywhere": false 
    } 
} 

Und einer der Fehlercodes:

export class CmsUserModel { 
    /** 
    * (description) 
    * 
    * @type {String} 
    */ 
    template: string; 

    /** 
    * (description) 
    * 
    * @type {string} 
    */ 
    pages: string[]; 

    constructor() { 
     this.template = ""; 
     this.pages = new Array<string>(); 
    } 

     public static ToModel(model: ICmsUserModel) { 
     return <CmsUserModel>{ 
      template : model.template, 
      pages : model.pages 
     };  
    } 
} 

Es gibt zwei Probleme. Die erste ist, dann ist die babal-eslint-Fehlerbehandlung nicht zu spezifiziert. Zum Beispiel dieses:

ERROR in ./src/models/cmsUserModel.js 

/Users/petrtomasek/Projects/cms/src/models/cmsUserModel.js 
    44:40 error Parsing error: Unexpected token 

✖ 1 problem (1 error, 0 warnings) 


ERROR in ./src/models/cmsUserModel.js 
Module build failed: Error: Module failed because of a eslint error. 

/Users/petrtomasek/Projects/cms/src/models/cmsUserModel.js 
    44:40 error Parsing error: Unexpected token 

✖ 1 problem (1 error, 0 warnings) 

Es ist in Ordnung, aber ich mochte wie mit Druck aktueller Fehlerzeile in Standard webpack und babel loader Umgang mit Standardfehlern, um zu sehen, wenn möglich ist ..?

Und der zweite Fehler ist, dann kann ich immer noch nicht Immobilienarten, wie zum Beispiel verwenden: template: string

Was ist los bitte? Vielen Dank für Ihre Zeit!

Antwort

0

Ich denke, Sie sollten die folgenden Schritte versuchen,

1. npm install --save-dev babel-preset-es2015 
2. Add query: { presets: ['es2015'] } to your webpack config with the babel loader. 

loaders: [{ 
      test: /\.js?$/, 
      exclude: /node_modules/, 
      loader: 'babel', 
      query: { presets: ['es2015'] } 
     }] 
+0

Vielen Dank für Antwort. Problem mit Anzeigefehlern wurde behoben, nicht aber Kompilierungsfehler. Derselbe Fehler mit Zeile: ** Vorlage: Zeichenfolge; ** und ** unerwartetes Token ': ** –

+0

Ist CmsUserModel ein ES6-Modul? –