首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到浏览器(扩展脚本)模块:错误:无法解决'fs‘

未找到浏览器(扩展脚本)模块:错误:无法解决'fs‘
EN

Stack Overflow用户
提问于 2022-02-14 03:06:07
回答 1查看 87关注 0票数 0

我需要一个使用fs的模块(中文-令牌)。Webpack提示一个没有找到fs的错误。我在网上找到的所有解决方案都建议使用目标:“节点”,但是我的应用程序是针对“web”的。

有什么方法可以在模块工作的同时避免这个错误呢?

EN

回答 1

Stack Overflow用户

发布于 2022-02-14 03:32:19

这个问题的发生可能是因为您使用Webpack 5。在为browser/web创建包时,Webpack通常会填充核心的Node.js模块。但情况已不再如此。

要解决这个问题,本质上,你必须告诉Webpack填充这个模块。要做到这一点,有多种选择。

首先,您可以使用node-polyfill-webpack-plugin,它负责捆绑Webpack遇到的任何核心Node.js模块。

在您Webpack配置中,webpack.config.js文件,只需添加这个插件

代码语言:javascript
复制
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")

module.exports = {
  // Other config...
  plugins: [
    new NodePolyfillPlugin()
  ]
};

其次,您可以编写自己的配置来告诉Webpack有关此模块的信息:

代码语言:javascript
复制
// webpack.config.js
module.exports = {
  // Other configuration
  resolve: {
    fallback: {
      fs: require.resolve('fs')
    }
  }
};

第三,您可以提供自己的模拟实现,而不是使用实际的模块。这就是您应该使用的捆绑实际fs模块的方法,对于浏览器代码来说没有任何意义,并且可能会存在Webpack可能无法绑定的fs模块的传递依赖关系。有关更多详细信息,请参阅此链接

另外,确保您没有使用由loadFile模块提供的chinese-tokenizer函数。这是使用Node的fs模块的唯一函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71106742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档