使用Webpack时,节点找不到模块“ fs”

node.js Webpack

卡卡西达蒙西里

2020-03-24

我正在使用node.js和webpack创建一个包。根据我的阅读,node.js应该包含fs用于管理文件的模块。但是,当我打电话给require("fs")我时出现Cannot find module "fs"错误。我该怎么办?

第3456篇《使用Webpack时,节点找不到模块“ fs”》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
伽罗理查德 2020.03.24

乱投医后,我在网上(上发现targetexternalsnodeCONFIGS),唯一的解决办法,其实对我来说是更换工作:

const filesystem = require("fs")
        or
import fs from "fs"

通过特殊的webpack版本

const fs = __non_webpack_require__("fs")

这将生成webpack无法解析的require函数。

理查德伽罗 2020.03.24

对于我们正在构建的解决方案,我们必须强制使用旧版的webpack:

npm install --save --force webpack@webpack-3
神无 2020.03.24

如果您在nodejs环境中运行webpack捆绑包,则目标:webpack.config.js文件中需要“ node”,否则webpack在此处将默认值用作web进行目标检查

您可以通过两种方式解决问题

将以下配置添加到您的webpack.config.js

node: {
    fs: "empty"
}

要么

将以下配置添加到package.json

"browser": {
    "fs": false
}

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android