让babel-loader通过webpack

时间:2018-11-08 20:32:16

标签: webpack babeljs babel babel-loader lerna

我有一个lerna monorepo,有两个软件包:marketing-site和button。我的营销站点软件包使用webpack配置,并具有以下规则:

{
  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',则可以使用。 sass-loadercss-loader处理该scs。

但是,如果我import '../button/src'(本身拥有import './style.scss',我将得到SyntaxError: Unexpected token

同样,如果我将整个按钮文件夹移动到marketing-site,一切正常。

有没有办法强制webpack使用其加载程序来处理根目录之外的另一个目录中的scss文件?

(很遗憾,我需要指定要在此Webpack配置中使用的装载程序,因为同一monorepo中还有另一个项目使用了不同的装载程序集。我们希望在button之间共享该组件两者。因此,在button/.babelrc中使用插件是不够的。)

1 个答案:

答案 0 :(得分:0)

看起来答案是,有一个错误的externals: [ someFunction ]错误地将此scss导入标记为外部。