Webpack nodejs fs.readFile не является функцией
У меня есть конфигурация webpack, например:
var path = require('path')
module.exports = {
entry: "./index.js",
output: {
path: path.join(__dirname, 'static'),
filename:'bundle.js'
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"},
{ test: /\.json$/, loader: 'json-loader' },
]
},
node: {
fs: "empty"
}
};
И я хочу прочитать файл, используя fs
Я делаю что-то вроде:
var fs = require('fs')
console.log(fs)
fs.readFile('input.txt', function (err, buffer) {
console.log("buffer")
console.log(buffer)
})
Я просто хочу прочитать файл здесь, но когда я это делаю, он дает мне ошибку:
fs.readFile
не является функцией
Я установил fs
, используя npm install --save fs
Также, когда я печатаю fs
, он дает мне пустой объект.
Выше я сделал console.log(fs)
, он дает мне пустой объект
Что здесь не так?
Ответы
Ответ 1
Ваш код выглядит хорошо! Так что с кодом все в порядке. Для перекрестной проверки попробуйте выполнить тот же код здесь https://www.tutorialspoint.com/execute_nodejs_online.php, и вы увидите, что console.log(fs);
не будет пустым.
Таким образом, причина того, что ваш код показывает ошибку, заключается в том, что вы установили модуль узла с именем 'fs' с помощью команды npm install --save fs
, чего не следует делать! Узел поставляется с этим модулем по умолчанию. Все, что вам нужно сделать, это просто потребовать использовать const fs = require('fs');
(используя var
, или let
также найти, но я рекомендую const
здесь).
Так что просто удалите локальную папку node_modules
, а затем снова запустите этот код, установив другие модули, которые вы хотите, и он будет работать нормально!
Надеюсь это поможет :)