我有一个 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
is not a function
我已经使用 npm install --save fs
fs
当我打印 fs
时,它也会给我一个空对象。
上面我已经完成了 console.log(fs)
它给了我空对象
这里有什么问题?
最佳答案
我相信上面提到的评论,
node: { fs: "empty" }
需要删除。 此外,您的所有代码都必须在服务器上运行。您无法在浏览器中读取此类文件。 Node API 仅在服务器端,因此您需要使用 express 或一些类似的库来构建 API 例如
router.get('/file/read', (req, res, next) => { fs.readFile('input.txt', function (err, buffer) {
console.log("buffer")
res.send(buffer);
})
})
然后在您的浏览器中,您需要使用 AJAX 来调用 API 并检索文件内容。
读取任意文件存在明显的安全问题。您不应该允许 api 读取用户喜欢的任何文件。您应该非常小心地限制输入并限制可用的文件集。
关于node.js - Webpack nodejs fs.readFile 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37319299/