2016-10-31 10 views
0

Ich habe eine einfache Einrichtung, wo ich Webpack-Stream verwenden, um Web Pack in Schluck zu verwenden. Ich versuche, mein Typoskript in Javascript zu übertragen und alle meine Module in einer Datei mit ES6-Modulen zu bündeln.Webpack ES6 Modul Bündelung w/Typescript und Babel

Mein Setup (Ich habe eine .babelrc Datei auf es2015 eingestellt):

return gulp.src('./app/index.ts') 
    .pipe(webpack({ 
     resolve: { 
     extensions: ['', '.ts', '.js'] 
     }, 
     module: { 
     loaders: [ 
      { test: /\.ts$/, exclude: /node_modules/, loader: 'ts-loader' }, 
      { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' } 
     ] 
     }, 
     output: { 
     filename: 'bundle.js' 
     } 
    })) 
    .pipe(gulp.dest('./build)); 

Das Ergebnis dieser Einrichtung transpiles nur meine Typoskript für index.ts und hält die Importe in der Datei. Was mache ich falsch mit meiner Konfiguration?

Antwort

0

Gelöst es. Die Konfiguration für Lader sollte wie folgt aussehen:

Damit wird sichergestellt, dass Babel vor Typoskript ausgeführt wird.

0

Erstens, stellen Sie sicher, dass Sie alle Ihre npm Abhängigkeiten:

"babel": "^6.5.2", "babel-preset-es2015": "^6.9.0", "babel-loader": "^6.2.5"

Ich glaube, Sie müssen auch angeben, welche verwenden voreingestellt, so aktualisieren Sie Ihre babel Lader aus dieser:

{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }

dazu:

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

+0

Ich habe eine .babelrc-Datei mit meiner Voreinstellung auf es2015 eingestellt, und habe versucht, es in meine Webpack-Konfiguration zu bringen und habe das gleiche Ergebnis. Anstatt Babel zu installieren, habe ich Babel-Core installiert, ich denke, das ist die neue Art, Babel zu installieren. Unabhängig davon ist meine Ausgabe eine Datei, die nur meinen index.ts-Code mit Importanweisungen enthält. – Bob

+0

oh sorry, das habe ich verpasst. Sie sollten versuchen, den Babel-Loader in einen separaten Abschnitt "Post-Loader" zu stellen. [Überprüfen Sie es hier] (https://webpack.github.io/docs/configuration.html#module-preloaders-module-postloaders). – Ermish

+0

Putting Babel Loader in den PostLoaders gibt mir das gleiche Ergebnis. – Bob

Verwandte Themen