Как дополнительно обрабатывать код в node_modules с помощью babel-loader в webpack? - PullRequest
0 голосов
/ 26 октября 2018

Это продолжение от этого ответа .

У меня есть какой-то сторонний код (реагирующие компоненты), который я объединяю как модули ES (используя точку входа pkg.module).Это прекрасно работает (вы получаете конкатенацию модулей и расшатывание дерева), но включенный код не переносится с babel, потому что, следуя большинству примеров конфигурации, я исключаю node_modules в разделе babel-loader моей конфигурации webpack следующим образом:

{
    ...
    module: {
        rules: [
            {
                exclude: /(node_modules)/,
                use: {
                    loader: 'babel-loader',
                    ...
                }
            }
        ]
    },
    ...
}

Итак, я получаю неожиданные ошибки токена при запуске webpack.Основываясь на связанном ответе, я переключился с использования exclude на include, чтобы при желании добавить некоторые пакеты из node_modules, например так:

{
    ...
    module: {
        rules: [
            {
                include: [/node_modules\/@my-scope/, /src/],
                use: {
                    loader: 'babel-loader',
                    ...
                }
            }
        ]
    },
    ...
}

Кажется, это работает для меня (нетболее неожиданные ошибки токенов при запуске веб-пакета), но я не уверен на 100%, что он делает то, что мне кажется.

Правильно ли выглядит это решение?Есть ли лучший способ?

1 Ответ

0 голосов
/ 02 января 2019

Решение выглядит нормально для меня. Если включение начинает становиться сложным, вы можете заменить его функцией и использовать логику для фильтрации там.

...