-
配置nodemon
npm install nodemon -D
修改 package.json 中的啟動(dòng)命令
通過(guò)增加 nodemon.json 配置指定 watch 的文件
????
???4. 開(kāi)啟 debug 模式可以看到更多日志
????
查看全部 -
API 的實(shí)現(xiàn)
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
看下 mysql 服務(wù)是否已經(jīng)啟動(dòng)了 brew services list | grep mysql
使用 sequelize cli 的 npx sequelize init 初始化項(xiàng)目的數(shù)據(jù)庫(kù)配置信息,建議新建一個(gè)文件生成,不要根目錄直接生成?
生成模型文件
生成 migrate 文件
生成 model 文件
命令是?npx sequelize model:generate --name Todo --attributes name:string,deadline:date,content:string
持久化模型到對(duì)應(yīng)的數(shù)據(jù)庫(kù)表 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
查看全部 -
需求說(shuō)明,API說(shuō)明
1.根據(jù)客戶端傳遞過(guò)來(lái)的不同的參數(shù)(狀態(tài)/頁(yè)碼) 查詢?nèi)蝿?wù)的列表
2.實(shí)現(xiàn)新增一個(gè)任務(wù)的功能(名稱/截止日期/內(nèi)容)
3.實(shí)現(xiàn)一個(gè)編輯的功能:根據(jù)客戶端傳遞的任務(wù)對(duì)象(已經(jīng)存在的數(shù)據(jù))進(jìn)行編輯,(名稱/ 截止日期/內(nèi)容/ID)
4.修改任務(wù)的狀態(tài)(ID/狀態(tài)-待辦/完成/刪除)
查看全部 -
什么是ORM?
Object Relational Mapping/對(duì)象關(guān)系映射
將數(shù)據(jù)庫(kù)里面每一張表通過(guò)對(duì)象的方式抽出來(lái),通過(guò)對(duì)應(yīng)的語(yǔ)言進(jìn)行關(guān)聯(lián),例如:nodejs、java。
我們只要通過(guò)關(guān)聯(lián)的語(yǔ)言對(duì)這個(gè)抽出來(lái)的對(duì)象進(jìn)行操作就可以操作數(shù)據(jù)庫(kù)了。
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 // 創(chuàng)建一個(gè)叫?User 的表,它的屬性有 name
npx sequelize-cli db:migrate --env=development 鏈接開(kāi)發(fā)環(huán)境的數(shù)據(jù)庫(kù)。 --env=development 讀取的是 congfig 下的 config.json。--env=development? 鏈開(kāi)發(fā)環(huán)境,
--env=production 鏈生產(chǎn)環(huán)境。
?
查看全部 -
Mac下安裝MySQL
brew install mysql 安裝
brew list 查看安裝了什么軟件
brew list | grep mysql 查看是否安裝了mysql
brew services list 查看安裝了什么服務(wù)及其狀態(tài)
brew services stop mysql 暫停mysql服務(wù)
brew services start mysql 啟動(dòng)mysql服務(wù)
數(shù)據(jù)庫(kù)操作
mysql -u root -p 密碼 登錄鏈接到mysql
show databases; 查看有哪些數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名字; 選擇使用某個(gè)數(shù)據(jù)庫(kù)
show tables; 查看當(dāng)前數(shù)據(jù)庫(kù)中有哪些表
select * from 表名; 查出選中的表的所有數(shù)據(jù)
select count(*) from 表名; 查出選中的表的條數(shù)
查看全部 -
????22
查看全部 -
web服務(wù) 如何處理一個(gè) 請(qǐng)求
查看全部 -
開(kāi)發(fā)環(huán)境準(zhǔn)備總結(jié)
查看全部 -
當(dāng)修改源文件后,如果用的是原來(lái)的node 則必須手動(dòng)重啟 你的更改才會(huì)有效。但是如果用的是nodemon,則你不需要手動(dòng)操作,它會(huì)檢測(cè)你的代碼改動(dòng)自動(dòng)重啟。
Nodemon會(huì)持續(xù)監(jiān)視您的目錄或文件系統(tǒng),當(dāng)發(fā)現(xiàn)任何更改時(shí),它會(huì)自動(dòng)重新啟動(dòng)節(jié)點(diǎn)應(yīng)用程序服務(wù)器。
1、npm install? nodemon? -D
2、修改package.json 中的啟動(dòng)命令
查看全部 -
const? express = requre(express)
const app? = express()?
?
app.get('/demo',(req.res)=>{
? thorw new Error('測(cè)試異常功能')??
})
funtion error_handler_middleware(err,req,res,next){
? if(err){
? ?res.status(5000).json({
? ? ?message:'服務(wù)器異常'??
? ? ?})?
? }
}
app.use(error_handler_middleware)
app.listen(3000,()=>{
})
查看全部 -
/*express 中間件使用*/
const?express?=?require('express') const??app?=?express(); //中間件完整結(jié)構(gòu) //1.是一個(gè)函數(shù) //2.err,req.res.next-->function function?demo_middleware(err,req,res,next){ ?//1、異常 ?//2.處理下業(yè)務(wù)功能,然后轉(zhuǎn)交控制權(quán)--next ?//3.相應(yīng)請(qǐng)求--結(jié)束響應(yīng)-->當(dāng)作路由的處理函數(shù) } function?vaild_name_middleware(req,res,next){ ?let?{name}?=?req.query if(!name||name.length){ ??res.json({ ??message:'缺少參數(shù)' ??}) ?} } app,all('*',valid_name_middleware()) //route app.get('/test',(req.res)=>{ ???res.json({ ????message:'test' ????}) }) app.listen(3000,()=>{ cons.log('服務(wù)啟動(dòng)成功') })
查看全部 -
const app = express();
const memberRouter = require('./member.router')
const skuRouter = require('./sku.router')
//注冊(cè)路由
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
})
})
//添加請(qǐng)求路徑
app.use('/demo',(,req,res)=>{
res.json({
message:'from use demo',
method:req.method,
uri:req.path
})
})
查看全部
舉報(bào)