-
iu比u翻倍放假誒u丟二回復二哈v額發(fā)v查看全部
-
學習nodejs 的目標
大局觀、了解項目難點:負載均衡、高并發(fā)
話語權
升職加薪
查看全部 -
簡答的http實現
查看全部 -
如果接受包時,因網絡延遲,包的順序有變化。是由后臺自動進行重排序,還是需要手動排序?
查看全部 -
接口設計
什么是接口(API):不同功能層之間的通信規(guī)則稱為接口
參數
返回值
查看全部 -
POST請求
數據是放在body里面進行傳輸
容量大: <2G
let?http?=?require('http')
let?querystring?=?require('querystring')
http.createServer((req,res)?=>?{
????let?result?=?[];
????req.on('data',?(buffer)?=>?{
????????//console.log(buffer);
????????result.push(buffer);
????})
????req.on('end',()?=>?{
????????//console.log(result)
????????let?data?=?Buffer.concat(result).toString()
????????console.log(querystring.parse(data))
????})
}).listen(8888)
1 GET
url?user=xxx&pass=xxx
<32k
url模塊
url.parse(req.url,true)
2 POST
放在體
<2G
querystring
querystring.parse()
查看全部 -
GET請求
什么是GET請求?主要就是獲取數據
數據是放在url里面進行傳輸
容量小: <32k
let?http?=?require('http')
let?url?=?require('url')
http.createServer((req,res)?=>?{
? ??
let?{pathname,query}?=?url.parse(req.url,true)
????console.log(pathname,query);
}).listen(8888)
查看全部 -
http模塊(重點)
服務器對象:http.createServer()
let?http?=?require('http')
let?fs??=?require('fs')
http.createServer((req,res)?=>?{
? ??
fs.readFile(`./${req.url}`,?(err,data)?=>?{
????????if(err)?{
????????????//conmsole.log(err);
????????????res.writeHead(404)
????????????res.end('404?not?found')
????????}else?{
????????????res.writeHead(200)
????????????res.end(data)
????????}
????})
}).listen(8888)
查看全部 -
自定義模塊
定義:require自己封裝的模塊
exports
module
module.exports?=?{
? ? a:1,b:2
}
module.exports?=?function?()?{
? ? console.log(123)
?}
module.exports?=?class?{
????constructor?(name)?{
????????this.name?=?name
????}
????show()?{
????????console.log(this.name)
????}
}
require
1 如果有路徑,就去路徑里面找
2 沒有的花就去node_modules里面找
3 如果都沒有,就再去node的安裝目錄里面找,
查看全部 -
let?path?=?require('path')
path.dirname('/node/a/b/c/1.jpg')? //打印出目錄
path.basename('/node/a/b/c/1.jpg')
path.extname('/node/a/b/c/1.jpg')
let?fs?=?require('fs')
fs.readFile('./a.text',(err,data)?=>?{
? ?if(err)?{
? ? ? ? ?console.log(err)
? ? }else?{
? ? ? ? console.log(data.toString())
? ? }
?})
fs.writeFile('b.text','月薪1元',{flag:?"a"},(err)?=>?{
? if(err)?{
? ? ? ? throw?err
? ? }
?})
let?data?=?fs.readFileSync('./a.text')
let?data?=?fs.writeFileSync('b.text','月薪2元')
查看全部 -
系統(tǒng)模塊
定義:需要require(),但不需要單獨下載
path:用于處理文件路徑和目錄路徑的實用工具
fs: 用于文件讀寫操作
查看全部 -
1 全局模塊(對象)process.env 環(huán)境變量
特點:何時何地都能訪問,不需要引用
process.env
process.argv
2 系統(tǒng)模塊
3 自定義模塊
查看全部 -
node 系統(tǒng)模塊:node自帶的模塊,不需要單獨下載,但是在使用時,需要require(),而全局模塊不用require ,直接使用
????如:path 用于處理文件路徑和目錄路徑的模塊
????????? fs 文件讀寫模塊
查看全部 -
node 的模塊
全局模塊:不需要引用,直接可使用的模塊
????如:process
????????? process.env 查看環(huán)境變量
????????? process.argv 參數數組
查看全部 -
node 項目初始化
????????命令行模式下,在要創(chuàng)建項目的文件夾下,執(zhí)行:npm init
????????如:在/Users/zzk/node_project/下創(chuàng)建一個test的node工程
????????進入到/Users/zzk/node_project文件夾,執(zhí)行
????????mkdir test
????????cd test
????????npm init
npm 安裝與卸載第三方包
包的安裝 npm install xxx 或者 npm i xxx
包的卸載 npm uninstall xxx 或者 npm un xxx
npm 與 cnpm
npm 在安裝第三方包時,使用的國外鏡像資源,由于網絡問題,在安裝時會出現緩慢,錯誤情況;可使用cnpm來安裝第三方包,使用國內的鏡像資源,安裝更加快速,穩(wěn)定,先安裝cnpm,使用淘寶鏡像? npm install -g cnpm --registry=https://registry.npm.taobao.org ;-g 參數表示作為全局安裝,執(zhí)行后如安裝報錯,提示權限不足,那執(zhí)行sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose 命令,會提示輸入系統(tǒng)密碼,輸入密碼后安裝 ,安裝成功后,執(zhí)行cnpm -v 查看版本信息
????
查看全部
舉報