【问题标题】:Node cannot find module “fs” when using webpack使用 webpack 时 Node 找不到模块“fs”
【发布时间】: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',
}

【问题讨论】:

标签: node.js webpack fs


【解决方案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

    【讨论】:

      猜你喜欢
      • 2017-09-06
      • 2017-01-08
      • 2018-01-05
      • 2018-05-02
      • 1970-01-01
      • 2020-09-14
      相关资源
      最近更新 更多