티스토리 뷰

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함