当我转到路由'/gallery'
时,我想从文件“ posts.json”接收数据。
我使用fs
模块从文件中获取数据,并使用read()
方法从文件“ posts.json”中读取数据。
结果是,我收到错误消息:“ ReferenceError:未定义fs”
使用'/gallery'
模块浏览路线fs
时如何实现文件“ 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;
答案 0 :(得分:2)
使用:
您的this.fs.readFile
函数中的 read
,而不是fs.readFile
。由于您在构造函数中需要它,并将其分配给this.fs
;
或在require
开头的fs
模块db.js
const fs = require('fs');
并在不使用this
的情况下使用它。
答案 1 :(得分:1)
当您尝试访问在services.AddHttpContextAccessor();
构造函数中初始化的this
属性时,您忘记写fs
关键字。
您使用它来访问this.fs = require('fs')
属性,但没有访问pictures