模塊化
模塊化初體驗
模塊暴露數據
導入模塊
fs? 寫絕對路徑? ? ? ? ? require寫相對路徑不會受到影響? ?./../不能省略
js 和json文件后綴可以省略
如果存在 命名相同的js和json文件,優先導入js文件
導入文件夾時的情況
require導入模塊的基本流程
?????????
commonJS模塊化規范
包管理工具
npm
npm初始化包
init? ?initialization
npm搜索包
下載安裝包
require導入npm包的基本流程
開發依賴和生產依賴
局部安裝
npm全局安裝
全局安裝包的位置
裝nodemon不成功,顯示 無法加載文件,因為在此系統上禁止運行腳本的話,是因為執行策略受限制了
輸入Set-ExecutionPolicy RemoteSigned,按y就可以解除限制了
修改windows執行策略
或者
再在集成終端中打開js文件
但第一種方法更好
powershell的權限比cmd高
Path 環境變量
npm安裝包的所有依賴
node_modules文件夾不會存入版本庫
當clone一個庫時,沒有node_modules,,此時需要先進行npm i 安裝node-modules? 即依賴包所存放位置的文件夾
npm安裝指定版本的包??
刪除依賴
npm uninstall 包名 這個也可以啊
npm配置命令別名
cnpm(了解即可,使用npm配置淘寶鏡像)
?install -g cnpm --registry=http://registry.npmmirror.com
cnpm -v
npm配置淘寶鏡像
切換注冊地址 切換鏡像時很方便
nrm ls
列出所支持的鏡像地址
使用? nrm? use? ? ? + 地址名(taobao? 或? npm)
taobao鏡像只讀不可上傳? ? ? ? ? ? 改為npm后可以上傳
npm config?list? ? ?檢查配置是否成功
yarn
npm和yarn的選擇
npm發布一個包(了解)
npm更新和刪除包
包管理工具拓展介紹
nvm介紹與使用
GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.
https://github.com/coreybutler/nvm-windows
Releases · coreybutler/nvm-windows · GitHub
https://github.com/coreybutler/nvm-windows/releases
現在我感覺還用不到nvm等用的到的時候在裝
主要是現在裝要重新裝一堆包
改設置
等用其他版本的時候
再裝nvm?
安裝包放在D:nvm
安裝的第一個路徑詢問nvm裝在哪
第二個路徑問nodejs裝在哪
express框架介紹
初體驗
路由的介紹
????????
獲取請求報文參數
獲取路由參數
params是req 請求對象上的的一個屬性 用來存儲所有 的路由參數,,id? 是路由參數中的一個
路由參數練習
用require函數取json文件數據
res.end? ?內部寫一個頁面? 內容部分使用${result.? ?}? ??
響應設置?
send方法調用后會自動地在響應頭進行字符集的設置
send? ?不會出現亂碼
express 相應設置可以進行連貫設置
其他響應
中間件介紹
全局中間件實踐
路由中間件實踐
靜態資源中間件
實現靜態資源響應,? 參數是靜態資源文件夾,也就是資源根目錄
獲取請求體數據
防盜鏈
防止外部網站盜用本站資源
原理
通過referer請求頭判斷請求來源
路由模塊化
EJS模版引擎
npm i 具有向上尋找的特性,沒有必要必須在方包的文件下進行安裝,可以在下一級文件內直接進行npm i
初體驗? ? ? ?基本邏輯
ejs列表渲染
ejs條件渲染
目標效果
express框架內部寫ejs
1.設置模版引擎
2.設置模版文件的存放位置
使用path轉為絕對路徑
模版文件:具有模版語法內容的文件
路由內的響應render
render(‘模版文件名’,‘數據’)
模版文件后綴為ejs
express-generator
-e 文件夾名
創建出一個ejs框架文件夾
第一步:安裝依賴? npm? i
app.js文件內
文件上傳報文
文件上傳也是在發送htp請求報文
express處理文件上傳
存放文件名
案例
表單數據的提去
lowdb了解
shortid?
mongoDB
下載與安裝
命令
數據庫操作應用場景
mongoose
上文的mongodb命令行內交互命令
手動鍵入? ?極為麻煩
故而存在Mongoose包
使用流程
鏈接數據庫補充說明
插入文檔
在open的回調函數中進行
字段類型
字段驗證? ?對文檔屬性的值進行驗證
文檔結構對象內書寫
刪除文檔
條件刪除
更新文檔
{條件}{新的文檔內容}? 回調函數
更新單條
批量更新
讀取文檔
讀取單條文檔信息
根據ID獲取文檔
?
批量獲取
條件控制
?
個性化讀取
代碼模塊化
進行拆分
將重復代碼放在db。js文件內
內部重復代碼放入暴露函數內
抽離出來連接相關的操作
通過暴露函數實現對數據庫的連接
模塊化 二
結構對象和模型對象的創建是重復的
config文件用來設置db文件mongodb服務中連接數據庫路徑
圖形化管理工具
案例記賬本-結合數據庫
模型文件
接口
接口的作用:實現前后端通信
restfulAPI
json-server
實例
搭建臨時的接口服務
接口測試
啟動json - server
Apipost
公共參數
放在同一個文件加下
公共請求頭? ?查詢字符串? 請求體
文檔功能
postman
會話控制
cookie
cookie特點
cookie信息放在請求頭當中
流程
瀏覽器操作cookie
express中設置cookie
?express中刪除cookie
這個cookie是一個臨時對象,普通對象可以寫的他基本都可以(設置cookie內容無限制)
express中讀取cookie
session
?session中間件配置
設置中間件中第二個屬性? 又稱? ? 加鹽
session的設置
session的讀取
session的銷毀
session和cookie的區別
注冊流程
179-185
token
jwt
創建token
校驗字符串
本地域名
配置HTTPS證書
服務器端完成