2016-10-31 3 views
0

У меня есть простая настройка, где я использую webpack-stream для использования веб-пакета в глотках. Я пытаюсь перенести свой машинописный текст в javascript и объединить все мои модули в один файл с помощью модулей es6.Webpack ES6 Module Bundling w/Typcript и Babel

Моя установка (У меня есть файл .babelrc установлен в es2015):

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)); 

В результате этой установки просто transpiles мой машинописный для index.ts и сохраняет импорт в файле. Что я делаю неправильно с моей конфигурацией?

ответ

0

Решено. Конфигурация для погрузчиков должна выглядеть так:

loaders: [ 
    { 
    loader: 'babel!ts', 
    test: /\.ts$/, 
    exclude: /node_modules/ 
    } 
] 

Это гарантирует, что babel запускается до машинописного текста.

0

Во-первых, убедитесь, что у вас есть все зависимости НПМ:

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

Я считаю, что вам также необходимо указать, какие предварительно использовать, поэтому обновить Бабель погрузчик из этого:

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

к этому:

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

+0

У меня есть файл .babelrc с моим предустановленным набором до es2015 и попытался поместить его в мою конфигурацию webpack и получил тот же результат. Вместо установки babel я установил babel-core, я думаю, что это новый способ установки babel. Независимо от того, что мой вывод - это файл, содержащий только код index.ts с операторами импорта. – Bob

+0

О, извините, я пропустил это. Вы должны попробовать разместить загрузчик Babel в отдельную секцию 'post-loaders'. [Проверьте здесь] (https://webpack.github.io/docs/configuration.html#module-preloaders-module-postloaders). – Ermish

+0

Ввод загрузчика Babel в postLoaders дает мне тот же результат. – Bob

Смежные вопросы