-
配置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
})
})
查看全部
舉報