如何使用webpack忽略或替换一些没有真正使用的模块?

Fre*_*ind 2 webpack

我需要在浏览器中使用一个包,但它导入了一些节点模块,例如fs. 当我使用 webpack 捆绑它时,它报告一些错误,说fs只能在节点上运行。但在我的例子中,所使用的函数fs并没有真正被调用。

有什么方法可以配置 webpack 来忽略​​或替换fs依赖项吗?我配置了webpack.config.js

resolve: {
  externals: ['fs']
}
Run Code Online (Sandbox Code Playgroud)

虽然代码可以被捆绑,但是当它在浏览器上运行时,它会失败,因为它仍然需要 require fs.

我想知道是否可以创建一个fswebpack 的虚拟替代品,它就像一个空对象一样简单{},但我找不到方法来做到这一点

ᆼᆺᆼ*_*ᆼᆺᆼ 5

您可以使用resolve.alias配置选项来替换模块

在你的情况下

resolve: {
  alias: {
    fs: './fs-mock.js'
  }
}
Run Code Online (Sandbox Code Playgroud)