使用 webpack 时 Node 找不到模块“fs”
Posted
技术标签:
【中文标题】使用 webpack 时 Node 找不到模块“fs”【英文标题】:Node cannot find module “fs” when using webpack 【发布时间】:2017-04-15 08:02:31 【问题描述】:我正在使用 node.js(最后一个版本)和 webpack 来创建一个包。根据我的阅读,node.js 应该包含用于管理文件的 fs 模块。但是,当我调用 require("fs") 时,我得到一个找不到模块“fs”错误。添加“目标:'节点'”后,我在控制台中坚持使用“未定义要求”。任何帮助都会很有用,谢谢。
var webpack = require('webpack');
module.exports =
entry: "./client/main.js",
output:
path: __dirname + '/public/build/',
publicPath: "build/",
filename: "bundle.js"
,
node: fs: "empty",
module:
loaders: [
test: /\.js$/,
loader: "babel",
exclude: [/node_modules/, /public/]
,
test: /\.css$/,
loader: "style-loader!css-loader!autoprefixer-loader",
exclude: [/node_modules/, /public/]
,
test: /\.less$/,
loader: "style-loader!css-loader!autoprefixer-loader!less",
exclude: [/node_modules/, /public/]
,
test: /\.gif$/,
loader: "url-loader?limit=10000&mimetype=image/gif"
,
test: /\.jpg$/,
loader: "url-loader?limit=10000&mimetype=image/jpg"
,
test: /\.png$/,
loader: "url-loader?limit=10000&mimetype=image/png"
,
test: /\.svg/,
loader: "url-loader?limit=26000&mimetype=image/svg+xml"
,
test: /\.jsx$/,
loader: "react-hot!babel",
exclude: [/node_modules/, /public/]
,
test: /\.json$/,
loader: "json-loader"
]
,
target: 'node',
【问题讨论】:
***.com/questions/39249237/… 这篇文章的所有步骤都已经完成( 【参考方案1】:不要将“fs”标记为空,而是尝试像这样装饰它:
externals:
"fs": "commonjs fs"
这应该告诉 webpack 将其作为模块加载,而不是将其视为环境对象/变量。
参考: Node cannot find module "fs" when using webpack
【讨论】:
【参考方案2】:通过设置node: fs: "empty",
,你告诉webpack在导入fs
时应该返回一个空对象。删除它,它应该可以正常工作。 https://webpack.js.org/configuration/node/#node
【讨论】:
以上是关于使用 webpack 时 Node 找不到模块“fs”的主要内容,如果未能解决你的问题,请参考以下文章
更新到 nextjs@10.4 后找不到模块'webpack/lib/node/NodeTemplatePlugin'
Vue + Typescript + Webpack:模块构建失败 - 找不到 vue.esm.js