最近,我学会了处理渲染数据。但是我很难将发送的数据呈现给node.js中的ejs文件。我想使用已发送的数据从服务器端使用嵌入式javascript(或jade)构建我的html页面。所以在我的代码中我将保存的数据保存在我的文件中,它运行得很好。但问题是渲染的数据保持不变,即使文件已更改。我猜运行服务器时数据只更改了一次因为我重新运行服务器时页面发生了变化。请分享你的技巧来克服这类问题。
`enter code here`// ----- app.js
app.post('/notes' , function (req , res) {
var fs = require('fs');
var data = req.body;
fs.writeFile("bucket.json" , JSON.stringify(data) , "utf8" , function (){});
});
// ---- routes/bucket
router.get('/', function(req, res, next) {
var data = require('bucket.json');
res.render('bucket', {movies:data});
});
答案 0 :(得分:0)
模块在第一次加载后进行缓存。见https://nodejs.org/api/modules.html#modules_caching
router.get('/', function(req, res, next) {
fs.readFile('bucket.json', (err, data) => {
if(err) {
return next(err);
}
res.render('bucket', {movies:JSON.parese(data)});
});
});