0

webpack-stream を使用して gulp で web pack を使用する簡単なセットアップがあります。typescript を javascript に変換し、es6 モジュールを使用してすべてのモジュールを 1 つのファイルにバンドルしようとしています。

私のセットアップ(.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));

このセットアップの結果は、私の typescript を index.ts にトランスパイルし、インポートをファイルに保持するだけです。構成のどこが間違っていますか?

4

2 に答える 2

0

まず、npm の依存関係がすべてあることを確認します。

"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'] } }

于 2016-10-31T18:17:20.530 に答える
0

解決しました。ローダーの構成は次のようになります。

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

これにより、typescript より先に babel が実行されるようになります。

于 2016-10-31T22:52:34.090 に答える