express基本使用
🌎🌎
安装
🌎 通过 npm 进行常规安装,仅下载 express 这个包,其他内容根据自己需求添加
🚀 通过生成器安装的是一个具有完整内容(js 文件、模板页面文件…)的脚手架,安装之后就可以直接运行
常规安装
1 | npm init |
输入命令后会有项目的基本信息要填,这些信息可以直接回车跳过,下面这个除外
1 | entry point: (index.js) |
- 这个是修改入口文件的,可以修改其默认值,修改入口文件为
app.js
。当然也可以以后手动修改
安装 Express 并将其保存到依赖列表中:
1 | npm install express |
运行
1 | const express = require("express"); |
express 应用程序生成器
通过 express-generator 快速创建一个应用骨架
1 | npx express-generator |
1 | npm install |
或者是旧版本的 node,使用:
1
2npm install -g express-generator
express
启动服务
1 | npm start |
基本信息
- bin:原始的入口文件目录,后面会改掉
- public:放一些静态资源的地方,图片、介绍、、css 之类的
- routes:路由文件位置
- views:静态页面位置
- app.js:在根目录下作为入口文件
改写入口文件
使用 express 路由
作为中间件,接收和处理来自客户端的请求。路由都放在 routes 目录下。
1 | var express = require("express"); |
安装使用 mysql 模块
1 | npm install mysql --save |
数据库配置
可以在根目录建一个文件夹,名字随便但最好是顾名思义。例如 dbConfig
创建文件 config.js 用来保存连接数据库时所要用到的信息
1 | const DB = { |
同目录下创建 database.js 连接数据库
1 | const mysql = require("mysql"); |
连接的同时可以做别的事情
1 | database.connect((err) => { |
数据库使用
1 | database.query("select * from xxx", (err, rows, fields) => { |
err :错误信息、rows :查询结果、fields :当前查询中涉及到的字段信息,一般很少用到
router 搭配 mysql 处理客户端的请求
- 在 routes 文件夹中的路由文件中,例如在 index.js 中
1 | var express = require("express"); |
- 在根目录的 app.js 中
1 | // 引入路由文件 |
这里配置处理路由之后,客户端要请求 index,直接请求 /index
就行。这样进行细分就更方便请求。。。
所以现在在 index.js 的基础上可以加上其他的请求地址,例如实现插入
1 | router.post("/add", (req, res, next) => { |
安装使用 mongoose 模块
express 托管静态文件
在入口文件中(如:app.js)添加配置
1 | app.use(express.static("public")); |
- public 是当前静态文件所处的文件夹,文件夹名随便都行
然后就可以通过http://localhost:3000/images/jerry.jpg
类似的形式访问静态文件了
同时,可以给访问的路径重命名
1 | app.use("/static", express.static("public")); |
- static 为当前的别名
然后就可以通过http://localhost:3000/static/images/jerry.jpg
类似的形式访问静态文件了
同时,如果当前 express 运行的目录和静态资源所处的目录不一样(负载均衡),就要使用path
模块
1 | app.use("/static", express.static(path.join(__dirname, "public"))); |