Babel不使用Laravel Mix来转译node_modules

时间:2019-04-14 18:13:05

标签: javascript babel laravel-mix

我正在尝试在我的应用程序中启用对IE 11的支持。但是,我的某些依赖项尚未将代码转换为es5。因此,我尝试将其中一个添加到我的规则中,但是它仍然不能转换该依赖性。

这就是我包括依赖项的方式,这次是vue2-google-maps。但是,运行Object.entries后,生成的代码仍包含npm run dev

mix.webpackConfig({
    module: {
        rules: [
            {
                test: /node_modules\/(vue2-google-maps)\/.+\.js$/,
                use: [
                    {
                        loader: 'babel-loader',
                        options: mix.config.babel()
                    }
                ]
            }
        ]
    }
});

mix.js('resources/js/app.js', 'public/js')
    .extract()
    .babel(['public/js/manifest.js'], 'public/js/manifest.es5.js')
    .babel(['public/js/vendor.js'], 'public/js/vendor.es5.js')
    .babel(['public/js/app.js'], 'public/js/app.es5.js')

Here is a similar question,但答案仍无济于事。 Here is another similar question,但那没有答案。

这是我的 .babelrc

{
  "presets": [
    [
      "@babel/preset-env", 
      {
        "targets": { "ie": "10" }
      }
    ]
  ]
}

我在做什么错?为什么不同时翻译依赖项?

1 个答案:

答案 0 :(得分:0)

检查您的配置:mix.dump();

b/c 你的规则和测试看起来不错(在不同的场景中对我很有帮助)。

我想试试 mix.babelConfig(<your config>) - 对我来说似乎更明确