希曼日记

Express

本页目录 3
  1. 安装
  2. 使用
  3. 可选

Express

#Node #Express Express - Node.js Web 应用程序框架 (expressjs.com)

Node环境的网络处理框架

安装

提供三种包管理器的安装方式,选择一个你喜欢的安装即可

安装express

pnpm i express
yarn add express
npm i express

安装express依赖的第三方库

npm i http-errors
npm i morgan
npm i cookie-parser

可选安装

[type-is](Express 5.x - API Reference (expressjs.com))

npm i type-is 1.6.18

使用

  1. 创建package.json

可选参数: -y 全部设为默认值

pnpm init
yarn init
npm init
  1. 创建文件入口,约定为app.js

项目====根目录====下终端创建或者右键新建文件夹 powerShell 创建文件的指令为 new-item <file> cmd 创建指令为 type nul> <file>

new-item app.js
type nul> <file>
  1. 配置
//导入核心库 start
const express = require('express') // 核心库
const path = require('path') // Node内置路径库
const createError = require('http-errors') // 网络请求错误处理库
const logger = require('morgan') // 输出
const cookieParser = require('cookie-parser') // cookie 相关
//导入核心库 end

// 导入 用户配置 start
const indexRouter = require('./routes/index') // 首页路由, 手动创建
const userRouter = require('./routes/user')  // 用户路由, 手动创建 访问 /users 时匹配
// 导入 用户配置 end

// 使用 express 其本质是一个函数,封装了Node的网络请求
const app = express()  
  
// view engin setup 设置模pug板引擎  
app.set('views', path.join(__dirname, 'views'))  
app.set('view engine', 'pug')  
//app.set('view engine', 'jade')  
  
// 将中间件库添加到请求处理链  
app.use(logger('dev')) // logger库  
app.use(express.json())  
app.use(express.urlencoded({ extended: false }))  
app.use(cookieParser()) // Cookie处理库
app.use(express.static(path.join(__dirname, 'public'))) // 静态资源文件夹
  
// 导入路由  
app.use('/', indexRouter)  
app.use('/users', userRouter)  
  
// 错误处理器  
app.use((err, req, res, next) => {  
// 只在开发环境提供错误  
 res.locals.message = err.message  
 res.lcoals.error = req.app.get('env') === 'development' ? err : {}  
  
// 渲染出错页面  
 res.status(err.status || 500)  
 res.render('error')  
})  

// port 默认为 3000 端口
app.listen(3000, () => {  
 console.info('create succeed!') // 请求成功的响应消息
})  

// 导出app.js
module.exports = app
  1. 创建routes 文件夹 存放路由相关文件

项目==根目录==下终端创建 或 右键新建文件夹

mkdir routes
  1. 创建一个==首页==路由
mkdir index.js

routes/index.js

const express = require('express')

const router = express.Router('/',(req,res,next)=>{
	res.send('Hello Express')
})
  1. 创建一个==用户==路由

项目==根目录==下终端创建 或 右键新建文件夹

mkdir user.js

routes/users.js

const express = require('express')

const router = express.Router('/',(req,res,next)=>{
	res.send('Welcome Back! User')
})
  1. 启动

项目根目录运行

node app.js

可选