我有一个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-loader
和css-loader
处理该scs。
但是,如果我import '../button/src'
(本身拥有import './style.scss'
,我将得到SyntaxError: Unexpected token
。
同样,如果我将整个按钮文件夹移动到marketing-site
,一切正常。
有没有办法强制webpack使用其加载程序来处理根目录之外的另一个目录中的scss文件?
(很遗憾,我需要指定要在此Webpack配置中使用的装载程序,因为同一monorepo中还有另一个项目使用了不同的装载程序集。我们希望在button
之间共享该组件两者。因此,在button/.babelrc
中使用插件是不够的。)
答案 0 :(得分:0)
看起来答案是,有一个错误的externals: [ someFunction ]
错误地将此scss导入标记为外部。