Node学习笔记 express、express-template、nodemon

Express 框架

按照 14nodejs(7天) 教程推进到第4天,开始利用框架逐步简化之前原生的 Node 开发

Express4.16.3 ,官方介绍为 ”基于 Node.js 平台,快速、开放、极简的 Web 开发框架“

安装与使用

前提是您得电脑中已经安装有 Node.js ,按照官方的快速入门步骤如下:

$ mkdir myapp
$ cd myapp
$ npm init // npm init -y 快速初始化

创建目录并进入,初始化项目 npm initnpm init -y (快速初始化)

之后安装 express 即可

$ npm install express --save

关于使用,目前教程涉及的 API 主要用以取代 Node 核心组件 http,使用方法如下:

  • 引入组件并初始化

    var express = require('express')
    var app = express()
    

    通过 .get 响应 GET 请求(目前无法完成响应 POST 请求,将在下篇文章说明)

    app.get('/', (req, res) => res.send('Hello World!'))
    
  • 绑定端口号

    app.listen(3000, () => console.log('Example app listening on port 3000!'))
    
  • .redirect('重定向路径') 通过 redirect 可以轻而易举的实现页面的重定向,与之前原生方法对比

    // 原生 Node
    res.statusCode = 302 // 声明 302 状态码
    res.setHeader('Location', '/') // 添加请求头
    // Express
    res.redirect('/') // Express 会自动添加重定向 302 状态码以及请求头
    
  • .use(express.static('public')) 提供对静态资源文件的服务,使用 Express 内置的中间函数express.static,在 path 上安装中间件,如果 path 没有被设定,那么默认为 /

    app.use(express.static('public'));
    // 如果前台想请求后台public目录下images/08.jpg静态的图片资源
    // 通过:http://localhost:3000/images/08.jpg
    

    通过多次使用 express.static中间件来添加多个静态资源目录

    app.use(express.static('public'));
    app.use(express.static('file'));
    

    为了给静态资源文件创建一个虚拟的文件前缀(文件系统中不存在),可以使用 express.static 函数指定一个虚拟的静态目录

    app.use('/static', express.static('public'))
    

app.use 和 app.get 的区别

路由规则是 app.use(path,router) 定义的, router 代表一个由 express.Router() 创建的对象,在路由对象中可定义多个路由规则

可是如果我们的路由只有一条规则时,可直接接一个回调作为简写,也可直接使用 app.getapp.post 方法

app.use(path, callback) 中 callback 既可以是 router 对象又可以是函数

app.get(path, callback) 中的 callback 只能是函数

getpost 不同,app.use 的网址不是精确匹配的

比如:http://localhost:3000/admin/user

var express = require("express");
var app = express();
app.use('/admin', (req, res) => {
  console.log(req.originalUrl);
  console.log(req.baseUrl);
  console.log(req.path);
});
app.listen(3000);

结果为

admin/user
admin
user

Express-art-template

Express-art-template 是专门用来使 Express 中支持 template 模板引擎的第三方组件

安装与使用

npm i art-template

Express-art-template 无需通过 require 引入,而是通过配置自动引用,配制如下

app.engine('art', require('express-art-template'))

此段代码中 art 为预期读取的文件后缀,在这里我们的模板文件为 .html ,故此需要将其改为 'html'

Express 为路由响应 Response 对象提供了 render 方法,用于更便捷的渲染目录

res.render('html模版名', {模板数据对象})

首位参数为静态模板的文件名,默认认定该静态模板位于根目录中 views

如需修改默认静态模板目录,可运行下方代码

app.set('views', 静态模板文件路径)

Nodemon

截止到此,之前的任何操作都需要打断 cmd 重新执行 Node.js 才可以看到修改后的效果

这里可以通过第三方组件 nodemon 实现修改文件自动刷新

安装方法:

npm install --global nodemon // 全局安装 nodemon

使用方式:

// 将之前运行代码的 node demo.js 更改为
nodemon demo.js

即可实现自动刷新


文章已同步我的个人博客:《Node学习笔记 express、express-template、nodemon


资料参考:


本篇文章由一文多发平台ArtiPub自动发布

发布了16 篇原创文章 · 获赞 0 · 访问量 515

猜你喜欢

转载自blog.csdn.net/sz861128/article/details/103562999