Webpack Encore позволяет перемещать файлы babel в node_modules - PullRequest
0 голосов
/ 09 апреля 2019

Я работаю в проекте с Webpack Encore, и у меня есть вопрос о том, как разрешить Babel обрабатывать файлы в node_modules.

В прошлом году я нашел решение, позволяющее Babel обрабатывать файлы в node_modules, используячто-то вроде этого:

const webpackConfig = Encore.getWebpackConfig();
const babelLoader = webpackConfig.module.rules.find(rule => { 
  if (rule.use && rule.use[0]) {
    const firstUse = rule.use[0];
    return firstUse.loader === 'babel-loader';
  } 
  return false;
});
babelLoader.exclude = /node_modules\/(?!bootstrap\/).*/;
module.exports = webpackConfig;

Но в последних версиях, когда я запускаю yarn run encore production, я получаю файлы из Bootstrap без переноса, чего не происходит в моих файлах ресурсов.

IЯ использую файл babelrc для настройки Babel:

{
    "presets": [
      [
        "@babel/preset-env",
        {
          "debug": true,
          "useBuiltIns": "usage",
          "corejs": 3,
          "targets": "> 0.25%, not dead"
        }
      ]
    ]
  }

Странная вещь в том, что если я настраиваю Babel через файл webpack.config.js:

  .configureBabel(function(babelConfig) {
   }, {
       include_node_modules: ['bootstrap']
   })

, он работает отлично.Так что я не знаю разницы между этими двумя решениями.Есть ли какая-либо деталь реализации в этом случае, которая делает первое решение недействительным (как я уже говорил, в прошлом году оно работало хорошо)?

...