npm install express然后这样导入Express:
const express = require("express");如何创建一个Express应用
const app = express()如何在端口3000启动服务器
app.listen(3000, () => { console.log("Server running on port 3000"); }
app.get("/", (req,res) => { // app.get处理GET请求 // req - http请求, res - 期望响应 res.send("Hello World"); // 给这个路由发送Hello World }如何使用Express来创建Hello World程序
const express = require("express"); const app = express(); app.get("/", (req, res) => { res.send("hello world"); }); app.listen(3000, () => { console.log("Server running on 3000"); });输出如下:
const express = require("express); const app = express(); app.listen(3000, () => { console.log("Server running on 3000"); }在根目录创建一个名为public的文件夹,来渲染静态web页面,如:HTML、CSS和JS。由于本教程重点在后端,所有我们不会花时间在前端部分,在public文件夹中,我们仅创建HTML文件。
我们将导入path模块,并将特定路径合并到一起:
const path = require(“path”);并使用以下命令来渲染这些文件:
app.use(express.static(path.join(__dirname, “/public”)));__dirname →返回当前目录
const express = require("express"); const path = require("path"); const app = new express(); app.use(express.static(path.join(__dirname, "/public"))); app.listen(3000, () => { console.log("Server running on 3000"); });输出如下:
npm i hbs express创建文件名为app.js的文件,并且导入包:
const express = require(“express”); const hbs = require(“hbs”); const path = require(“path”);创建Express,并在端口3000监听:
const app = express(); app.listen(3000, (req,res) => { console.log("Server running on 3000"); }将视图引擎(view engine)设置为hbs,使得handlebars生效:
app.set(“view engine”, “hbs”);视图引擎使得我们可以使用特定模板来渲染动态页面。基本上,视图引擎会在根目录里寻找“视图(views)”文件夹。但为了避免报错,我们将“views”的路径包含在参数中:
app.set(“views”, path.join(__dirname,“/views”);然后在根目录中创建 views 文件夹,并在文件夹中创建index.hbs文件(.hbs是handlebars的扩展名)并插入以下HTML代码:
<html> <head> <title>Dynamic Rendering</title> </head> <body> <h1>Dynamic Rendering</h1> <p>{{author}}</p> <!--由服务器接受到的动态数据--> </body> </html>{{author}} — 是插入动态数据的语法。我们再创建一个app.get函数来处理路由"/"上的GET请求,并且发送动态数据author。
app.get("/", (req, res) => { res.render("index", { author: "Arash Arora", }); });res.render 是一个渲染视图的函数,在这里我们传入了两个参数。第一个是去掉扩展名的文件名,第二个是本地变量对象,比方说author。
const express = require("express"); const hbs = require("hbs"); const path = require("path"); const app = express(); app.set("view engine", "hbs"); app.set("views", path.join(__dirname, "/views")); app.get("/", (req, res) => { res.render("index", { author: "Arash Arora", }); }); app.listen(3000, (req, res) => { console.log("Server listening on 3000"); });文件夹结构