Webpack加载程序订单行为不端

时间:2017-08-18 08:03:52

标签: javascript node.js reactjs webpack babel

我使用了 webpack ^ 2.2.1 。我在 webpack.config.js 文件中添加了一些加载器。

但是我的装载机没有打电话给订单。

我使用babel-loader将react-es6代码转换为react-es5代码。我的自定义加载器需要react-es6代码。所以我把我的装载机放在第一位。我在每个加载器中都有打印源内容。但每次首次打印babel-loader信息。打印完我的信息后。

我的装载机订单是否正确?

救救我!提前致谢!

   // webpack.config.js

    module.exports = {
      entry: './src/index.js',
      output: {
         filename: 'bundle.js',
         path: path.resolve(__dirname, './build')
      }
      module: {
         loaders: [
            {
                test: /\.js$/,
                use: 'my-custom-loader'
            },
            {
                test: /\.js$/,
                use: [
                   {
                      loader: 'babel-loader',
                      options: {
                         presets: ['babel-preset-es2015', 'babel-preset-react']
                      }
                   }
                ]
            }
         ]
      }
    }

1 个答案:

答案 0 :(得分:5)

Webpack中的加载程序按顺序使用"从右到左"所以首先使用数组中的最后一个加载器。因此,巴贝尔正在翻译所有东西,而你的装载机排在第二位。

请参阅:What is the loader order for webpack?

尝试切换加载器的顺序(当然使用module.rules而不是module.loaders,以便在Webpack 2中使用新模式)