Пусть babel-loader проходит через веб-пакет - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть lerna monorepo, с двумя пакетами: маркетинг-сайт и кнопка. В моем пакете маркетинг-сайта используется конфиг веб-пакета со следующими правилами:

{
  test: /\.scss$/,
  use: [
    {
      loader: 'css-loader',
      options: {
        modules: true,
      },
    },
    'sass-loader',
  ],
},
{
  test: /\.jsx?$/,
  include: [ // the include key does not seem to make a difference
    path.join(__dirname, '..'),
  ],
  use: 'babel-loader'
},

Если я нахожусь в marketing-site/src/index.js, а я import styles from '../button/src/styles.scss', это работает. Scss обрабатывается sass-loader и css-loader.

Однако, если я import '../button/src', который сам имеет import './style.scss', я получу SyntaxError: Unexpected token.

Аналогичным образом, если я переместу всю папку с кнопками в marketing-site, все будет работать нормально.

Есть ли способ заставить webpack использовать его загрузчики для обработки файлов scss, находящихся в другом каталоге за пределами корневого каталога?

(К сожалению, мне нужно указать загрузчики, которые будут использоваться в этой конфигурации веб-пакета, так как в том же monorepo есть другой проект, который использует другой набор загрузчиков. Мы хотели бы разделить этот компонент button между двумя Таким образом, использования плагинов в button/.babelrc будет недостаточно.)

1 Ответ

0 голосов
/ 08 ноября 2018

Похоже, что ответ был ошибочным externals: [ someFunction ], который неправильно помечал этот импорт scss как внешний.

...