1. 程式人生 > 其它 >淺析JS中的堆記憶體與棧記憶體

淺析JS中的堆記憶體與棧記憶體

node

是基於chome(谷歌瀏覽器)的v8引擎 來實現的一個javascript執行環境(這個環境可以單獨的在任何作業系統上執行 從而可以讓js的觸角延伸到伺服器端)

node能在伺服器端執行js有啥用?

因為js預設情況下不能直接讀取本地計算及硬碟上的東西 但是node可以讓js執行在伺服器端 那麼node就把js變成了伺服器端語言 那麼js就可以讀取計算及硬碟上的東西(可以訪問資料庫)

node特點

單執行緒

非阻塞式io

事件驅動

node的安裝

repl互動性直譯器

就是可以在cmd中來寫js程式碼 因為node是一個js的執行環境 可以讓js在脫離瀏覽器的情況下來單獨執行

node怎麼執行js程式碼?

1.cd 到你要執行node的資料夾下

2.在cmd中輸入 node空格你要執行的js檔名 即可執行

魔術變數/預定義變數

就是node提前定義好的一些變數 代表某些操作

__dirname 執行這個檔案的資料夾的絕對路徑

__filename 當前js指令碼檔案的絕對路徑

express框架

基於node的一個企業級應用框架 他裡面封裝了大量的http相關工具可以讓我們非常方便的創建出 對需要的後臺服務

1.下載 npm install --save express

2.建立一個資料夾名字隨便起 用來存放我們的後臺路由檔案 並且建立路由檔案

// 1.引用express
let express=require("express");
// 2得到路由功能
let router=express.Router()
// 3.建立對應的後臺路由介面 req請求 res相應
// router.get("後臺介面名",function(req,res){
// 你的邏輯
// })

router.get("/user/zhuce",(req,res)=>{
res.send({msg:"註冊"})
})

// 4.暴露
module.exports=router

3.建立http服務並且把這些路由全部關聯起來

// 1.引用express
let express=require("express")

let app=express()

// 2.引用路由檔案
let demoa=require("./router/demoa.js")
let demob=require("./router/demob.js")
// 3.使用路由
app.use("/denglu",demoa)
app.use("/zhuce",demob)
// 4.設定埠
app.listen(8888)

mongodb

mongodb是什麼?

是一個數據庫

非關係型資料庫

關係型資料庫 mysql oracle sqlserver db2

非關係型資料庫 mongodb redis

關係與非關係型資料庫區別

關係型 預設情況下慢 穩定性高 背靠大山 庫 表 欄位

非關係型 預設情況下快 穩定性低 單打獨鬥 庫 集合 文件

新增服務: mongod.exe --install --dbpath 你儲存的資料目錄(你剛才新建的db資料夾路徑) --logpath 你的資料目錄(你的data資料夾路徑)\log.txt

操作

增 insert

db.集合名.insert({key:val,key2:val2})

db.集合名.remove({你要刪除的key:你要刪除的對應val})

db.集合名.update({你要修改誰的key:你要修改誰的val} , {$set:{改那個key:"改的val"}})

查 find

db.集合名.find()

limit 讀取指定條數的資料

skip 跳過指定數量的資料

mongoose

是一個外掛 用來方便我們使用node連線mongodb

1.下載 npm install --save mongoose

token

就是一段用於儲存使用者登入狀態的加密字串

JWT----jsonwebtoken 來生成加密的字串

下載 npm install --save jsonwebtoken

生成token

sign(你要加密的資料,祕鑰(越亂越好))

登陸成功之後生成一個包含登入狀態的token

解密token

verify("你要解密的token",加密時候的祕鑰,回撥函式)

restful api

在傳統的資料互動過程中 用到get/post請求 但是get/post 並不能很好的描述這個請求

restful api通過他 就可以簡單的來進行對於當前介面的作用進行描述

GET 讀取資料

POST 傳送資料

PUT 修改 全部修改

PATCH 修改 部分修改

DELETE 刪除