gam*_*mer 17 fs node.js webpack
我有一个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"
}
};
Run Code Online (Sandbox Code Playgroud)
我想用文件阅读文件 fs
我做的事情如下:
var fs = require('fs')
console.log(fs)
fs.readFile('input.txt', function (err, buffer) {
console.log("buffer")
console.log(buffer)
})
Run Code Online (Sandbox Code Playgroud)
我只是想在这里阅读一个文件,但是当我这样做时它给了我一个错误说:
fs.readFile不是一个功能
我已经安装fs使用npm install --save fs
另外,当我打印fs它给我空对象.我上面做的console.log(fs)就是给我空物
这里有什么问题?
正如我相信所提到的评论,
node: { fs: "empty" }
Run Code Online (Sandbox Code Playgroud)
需要移除。此外,您的所有代码都必须在服务器上运行。您无法在浏览器中读取这样的文件。节点 API 仅是服务器端的,因此您需要使用 Express 或一些类似的库来构建 API,例如
router.get('/file/read', (req, res, next) => { fs.readFile('input.txt', function (err, buffer) {
console.log("buffer")
res.send(buffer);
})
})
Run Code Online (Sandbox Code Playgroud)
然后,在浏览器中,您需要使用 AJAX 来调用 API 并检索文件内容。
读取任意文件存在明显的安全问题。您不应该允许 api 读取用户喜欢的任何文件。您应该非常小心地限制输入并限制可用的文件集。
| 归档时间: |
|
| 查看次数: |
16956 次 |
| 最近记录: |