티스토리 뷰
fs로 json파일을 읽어오면 object가 아니라 string상태인데
이걸 그대로 보내면 ejs에서 파싱이 되지 않는다.
파일을 읽어온 후 한번 parse했다가 다시 stringify해서 보내야한다
const router = require('express').Router();
const fs = require('fs');
let json = {};
fs.readFile('routes/data.json', 'utf8', function (err, data) {
console.log(err);
console.log(JSON.parse(data));
json = JSON.parse(data);
});
router.get('/', (req, res, next) => {
res.render('url', {
data: JSON.stringify(data)});
});
module.exports = router;
ejs에서 다음과 같이 json으로 파싱할 수 있다.
<script>
let data = '<%- data %>';
console.log(JSON.parse(data));
<script>
ejs변수를 ''로 감쌀것
'Node.js' 카테고리의 다른 글
Node.js - 1. window에 Express 개발환경 구성 (1) | 2020.08.04 |
---|