Узел не может найти модуль «fs» при использовании веб-пакета

Я использую node.js (последняя версия) и веб-пакет для создания пакета. Из того, что я прочитал, 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',
}


person Микола Стельмах    schedule 30.11.2016    source источник
comment
stackoverflow.com/ вопросы/39249237/   -  person Adiii    schedule 30.11.2016
comment
Все шаги уже сделаны из этого поста(   -  person Микола Стельмах    schedule 30.11.2016


Ответы (2)


Вместо того, чтобы помечать «fs» как пустое, попробуйте украсить его следующим образом:

externals:{
    "fs": "commonjs fs"
}

Это должно указать веб-пакету загружать его как модуль, а не рассматривать его как объект/переменную среды.

Ссылка: Узел не может найти модуль fs при использовании веб-пакета

person PDG    schedule 15.09.2017

Установив node: {fs: "empty"},, вы сообщаете веб-пакету, что при импорте fs должен быть возвращен пустой объект. Удалите это, и все должно работать нормально. https://webpack.js.org/configuration/node/#node

person pizzarob    schedule 15.09.2017