Webpack:使用webpack.ignorePlugin时出现“找不到模块”问题

时间:2018-09-10 02:59:44

标签: javascript webpack webpack-4

在我的代码中,我有一个导入语句,如下所示:

import '../theme/src/fonts/dist/_icons.scss'

我要实现的是,在构建状态下,我不想导入此文件,这意味着在构建阶段,我想忽略此语句。因此,我使用webpack.ignoreplugin,设置如下:

...,
plugins: [
    ...,
    new webpack.IgnorePlugin(/^\.\.\/theme\/src\/fonts\/dist\/_icons\.scss/, /binder$/),
    ....
]

好吧,在我构建的文件中,icons.scss没有被导入,这意味着它被忽略了。但是,当我打开内置文件时,出现以下错误:

throw new Error("Cannot find module \"../theme/src/fonts/dist/_icons.scss\"")

那么我在使用webpack.ignorePlugin时有什么问题吗?

3 个答案:

答案 0 :(得分:0)

您可以尝试。

module.exports = {
  //...
  externals: /^\.\.\/theme\/src\/fonts\/dist\/_icons\.scss/
};

答案 1 :(得分:0)

我生成一个空的scss文件,然后使用别名t,因此构建将改为使用此空的scss文件。

答案 2 :(得分:0)

我有同样的问题,并根据webpack维护者发现这是预期的行为:https://github.com/webpack/webpack/issues/2858。 没错,建议的解决方案是使用别名。