一、在node中通过nunjucks模板引擎将json数据动态渲染到前端的方法步骤
1、事先准备好包含数据的json文件,如json.json
2、app.js页面中引入文件
const jsons=require("./json.json");
3、路由中将json数据发送到页面
const router = new KoaRouter();
router.get("/", async ctx => {
//动态代理
ctx.render("index.html",{
jsons
})
})
4、页面渲染
{% for jsons= in jsons %}
{{jsons.name}}
{% endfor %}
二、使用node链接数据库渲染数据的方法
1、输入npm install --save mysql2安装操作库
2、在app.js 中引入操作库:const mysql=require("mysql2");
3、建立数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '数据库密码',
database: '数据库名称'
});
4、读取数据库数据
原始方法:
connection.query(
"SELECT * FROM 表名",
function(err, results, fields) {
console.log(results);
}
);
封装成Promise方法:
function query(sql, prepared) {
return new Promise((resolve, reject) => {
connection.query(
sql,
prepared,
function(err, results, fields) {
if (err) {
reject(err);
} else {
resolve(results);
}
}
);
})
}
4、动态代理中查询并转发数据
let sqldata = await query("SELECT * FROM 表名");
ctx.render("index.html", {
sqldata
})