넌적스 사용방법에 대해서 알려주시면 감사하겠습니다.

node.js로 서버를 만들어 두었고 서버에서 만든 변수를 nunjucks모듈을 사용해서 html에 표현하려고 합니다.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>productMain</title>
    </head>
    <body>
        <h1>Here is product's Information!</h1>
        <h2>products list</h2>
        {% set names = {{productNames}}%} {{names}}
    </body>
</html>

productNames는 배열 자료형이 들어가 있습니다.
서버 코드에는 넌적스를 임포트하는 코드와 넌적스 세팅하는 코드, 라우터에는 productMain.html을 렌더링 하는 코드가 있습니다.

  1. 넌적스 임포트
import nunjucks from "nunjucks";
  1. 넌적스 세팅
nunjucks.configure("views", {
    express: app,
    watch: true,
});
  1. productMain.html 렌더링
import express from "express";
import Product from "../schema/product.js";

const router = express.Router();

router.get("/", async (req, res, next) => {
    try {
        const products = await Product.find({});
        const productNames = [];
        for (let i = 0; i < products.length; i++) {
            productNames.push(products[i].name);
        }
        console.log(products);
        res.render("productMain", { productNames });
    } catch (err) {
        console.error(err);
        next(err);
    }
});

export default router;

문제는 productMain.html 파일에서 서버에서 만든 변수를 html에서 넌적스를 활용해 변수처럼 쓰려고 할때 에러가 납니다.

{% set names = {{productNames}}%}
parseAggregate: expected colon after dict key

이 에러에 대해 구글링을 해봤는데 결과가 많이 안 나올 뿐더러 제가 원하는 답변을 얻을 수가 없었습니다. 혹시 알고 계신 분들이 계신가요??

넌적스가 {{productNames}}를 객체같은 것으로 보고 파싱하려고 한 것 같습니다.

{
  "어떤 키값" : {
    "다른 키값": productNames
  }
}

이런 식으로요. 아래와 같이 바꾸면 되지 않을까요?

{% set names = productNames %}
1개의 좋아요

감사합니다!