当我转到路由'/gallery'
时,我想从文件“posts.json”接收数据。我使用 fs
模块从文件中获取数据,并使用 read()
方法从文件“posts.json”读取数据。
结果,我收到错误:“ReferenceError:fs 未定义”
使用 fs
模块导航路线 '/gallery'
时,如何实现显示文件“posts.json”中的数据?
app.js:
const express = require('express');
const Database = require('./db');
const app = express();
const port = 3000;
const db = new Database();
app.use(express.json());
app.get('/gallery', (req, res) => {
const items = db.read();
res.send(items);
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}!`);
});
db.js:
class Database {
constructor(){
this.fs = require('fs');
this.pictures = [];
}
read() {
fs.readFile('./posts.json', (err, data)=> {
if(err) {
throw err;
}else {
return this.pictures = data;
}
});
}
}
module.exports = Database;
用途:
this.fs.readFile
在您的 read
函数中,而不是 fs.readFile
。因为您在构造函数中需要它,并将其分配给 this.fs
;
或者require
在db.js
开头的fs
模块
const fs = require('fs');
并在没有this
的情况下使用它。
我是一名优秀的程序员,十分优秀!