nodejs 服务端渲染
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Documenttitle>
<style>
* {
margin: 0;
padding: 0;
}
table {
width: 100vw;
}
tr {
width: 100%;
display: flex;
}
td,
th {
flex: 1;
text-align: center;
}
style>
head>
<body>
<table border="1" borderSpace="0">
<tr>
<th>编号th>
<th>名称th>
<th>介绍th>
<th>价格th>
<th>数量th>
tr>
{{ each list }}
<tr>
<td>{{ $value.goods_id }}td>
<td>{{ $value.name }}td>
<td>{{ $value.intro }}td>
<td>{{ $value.price }}td>
<td>{{ $value.num }}td>
tr>
{{ /each }}
table>
body>
html>
app.js config
const express = require("express"); const path = require("path"); const fs = require("fs"); const template = require("art-template"); const mysql = require("mysql"); const connection = mysql.createConnection({ host: "localhost", user: "root", password: "24118028", database: "fmg", }); const app = express(); app.engine("html", require("express-art-template")); app.set("view engine", "html"); connection.connect(); app.get("/get_goods", async (req, res) => { connection.query("SELECT * FROM TB_GOODS", (error, results, fields) => { if (error) { res.send("error"); } console.log(results); res.render("index.html", { list: results }); }); }); app.listen(3000, () => { console.log("Server is running at localhost:3000"); });
app.json 文件
{ "name": "nodejs-server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "art-template": "^4.13.2", "express": "^4.17.2", "express-art-template": "^1.0.1", "mysql": "^2.18.1" } }
结果图