-
配置nodemon
npm install nodemon -D
修改 package.json 中的启动命令
通过增加 nodemon.json 配置指定 watch 的文件
4. 开启 debug 模式可以看到更多日志
查看全部 -
API 的实现
创建一个数据库
看下 mysql 服务是否已经启动了 brew services list | grep mysql
使用 sequelize cli 的 npx sequelize init 初始化项目的数据库配置信息,建议新建一个文件生成,不要根目录直接生成
生成模型文件
生成 migrate 文件
生成 model 文件
命令是 npx sequelize model:generate --name Todo --attributes name:string,deadline:date,content:string
持久化模型到对应的数据库表 npx sequelize db:migrate
查看全部 -
npm init -y
npm start
npm install body-parser express lodash moment mysql2 sequelize -S
npm install nodemon sequelize-cli -D
查看全部 -
需求说明,API说明
1.根据客户端传递过来的不同的参数(状态/页码) 查询任务的列表
2.实现新增一个任务的功能(名称/截止日期/内容)
3.实现一个编辑的功能:根据客户端传递的任务对象(已经存在的数据)进行编辑,(名称/ 截止日期/内容/ID)
4.修改任务的状态(ID/状态-待办/完成/删除)
查看全部 -
什么是ORM?
Object Relational Mapping/对象关系映射
将数据库里面每一张表通过对象的方式抽出来,通过对应的语言进行关联,例如:nodejs、java。
我们只要通过关联的语言对这个抽出来的对象进行操作就可以操作数据库了。
Sequelize 是 ORM 中的一种
npm install sequelize -S
npm install sequelize-cli -S -D
npm install mysql2 --save
npx sequelize-cli init
npx sequelize-cli model:generate --name User --attributes name:string // 创建一个叫 User 的表,它的属性有 name
npx sequelize-cli db:migrate --env=development 链接开发环境的数据库。 --env=development 读取的是 congfig 下的 config.json。--env=development 链开发环境,
--env=production 链生产环境。
查看全部 -
Mac下安装MySQL
brew install mysql 安装
brew list 查看安装了什么软件
brew list | grep mysql 查看是否安装了mysql
brew services list 查看安装了什么服务及其状态
brew services stop mysql 暂停mysql服务
brew services start mysql 启动mysql服务
数据库操作
mysql -u root -p 密码 登录链接到mysql
show databases; 查看有哪些数据库
use 数据库名字; 选择使用某个数据库
show tables; 查看当前数据库中有哪些表
select * from 表名; 查出选中的表的所有数据
select count(*) from 表名; 查出选中的表的条数
查看全部 -
22
查看全部 -
web服务 如何处理一个 请求
查看全部 -
开发环境准备总结
查看全部 -
当修改源文件后,如果用的是原来的node 则必须手动重启 你的更改才会有效。但是如果用的是nodemon,则你不需要手动操作,它会检测你的代码改动自动重启。
Nodemon会持续监视您的目录或文件系统,当发现任何更改时,它会自动重新启动节点应用程序服务器。
1、npm install nodemon -D
2、修改package.json 中的启动命令
查看全部 -
const express = requre(express)
const app = express()
app.get('/demo',(req.res)=>{
thorw new Error('测试异常功能')
})
funtion error_handler_middleware(err,req,res,next){
if(err){
res.status(5000).json({
message:'服务器异常'
})
}
}
app.use(error_handler_middleware)
app.listen(3000,()=>{
})
查看全部 -
/*express 中间件使用*/
const express = require('express') const app = express(); //中间件完整结构 //1.是一个函数 //2.err,req.res.next-->function function demo_middleware(err,req,res,next){ //1、异常 //2.处理下业务功能,然后转交控制权--next //3.相应请求--结束响应-->当作路由的处理函数 } function vaild_name_middleware(req,res,next){ let {name} = req.query if(!name||name.length){ res.json({ message:'缺少参数' }) } } app,all('*',valid_name_middleware()) //route app.get('/test',(req.res)=>{ res.json({ message:'test' }) }) app.listen(3000,()=>{ cons.log('服务启动成功') })
查看全部 -
const app = express();
const memberRouter = require('./member.router')
const skuRouter = require('./sku.router')
//注册路由
app.use('/member',memberRouter); // memer/list
app.use('/sku',skuRouter); //sku/list
查看全部 -
#express 路由是使用
const express = require('express')
const router = express.Router();
//router.[method] // get/post
router.get('/lsit',(req,res)=>{
res.josn({
list:[
{id:0001,
name:'李四'
}
]
})
})
module.exprot = router
查看全部 -
app.use('/demo',(,req,res)=>{
res.json({
message:'from use demo',
method:req.method
})
})
//添加请求路径
app.use('/demo',(,req,res)=>{
res.json({
message:'from use demo',
method:req.method,
uri:req.path
})
})
查看全部
举报