-
Node中間層的優(yōu)點:
性能好,適合高并發(fā)
異步io
處理數(shù)據(jù)
安全性好,隔離后臺
查看全部 -
node三大模塊:系統(tǒng)模塊
查看全部 -
npm init //初始化 默認值可修改
npm init -y? //初始化默認值給定
npm install? 包名? //安裝
npm i? 包名? //簡寫安裝
npm uninstall? 包名? //刪除
npm un? 包名? //簡寫刪除
//國內(nèi)鏡像
npm?install?cnpm?-g?--registry= npm?update?包名??//更新包? npm?install??//安裝包依賴 npm?i??//安裝包依賴
查看全部 -
npm init 命令生成package.json文件
通過npm init 命令可以生成一個package.json文件。這個文件是 整個項目的描述文件。通過這個文件可以清楚的知道項目的包依賴關(guān)系,版本,作者等信息。每個NPM包都有自己的package.json文件,使用這個命令將需要填寫項目名,版本號,作者等信息。
執(zhí)行npm init -y
這樣將會使用默認值生成package.json文件查看全部 -
微型服務(wù)器??
let http = require('http')//http 模塊引入
let fs = require(‘fs’)? //讀寫模塊引入
http.createServer(req,res)=>{//創(chuàng)建http服務(wù)
? ?console.log(req.url);? ?//監(jiān)聽請求的路徑
? ?fs.readFile(`./${req.url}`,(err,data)=>{ //讀取文件(路徑,回調(diào))
? if(err){
? ? ? res.writeHeader(404)
? ? ? res.end('404 not found')
? ?}else{
? ?res.end(data)?
? ?}
})
}).listen(8888)
查看全部 -
require
? 1.如果有路徑,就去路徑里面找。
? 2.沒有的話就去node_modules 里面去找
? 3.再去node 的安裝目錄node_modules去找
查看全部 -
path.dirname()?//文件路徑 path.basename()?//文件名 path.extname()?//?文件擴展名?(.jpg)
查看全部 -
你你你好嗎查看全部
-
let?http?=?require('http');
let?url?=?require('url');
let?querystring?=?require('querystring');
let?fs?=?require('fs');
let?user?=?{
????admin:?123456
}
http.createServer((req,?res)?=>?{
????let?path,?get,?post
????if?(req.method?==?'GET')?{
????????let?{?pathname,?query?}?=?url.parse(req.url,?true);
????????path?=?pathname;
????????get?=?query;
????????complete();
????}?else?if?(req.method?==?'POST')?{?
????????let?arr?=?[];
????????path?=?req.url;
????????req.on('data',?buffer?=>?{
????????????arr.push(buffer)
????????});
????????req.on("end",?()?=>?{
????????????post?=?querystring.parse(Buffer.concat(arr).toString());
????????????complete();
????????})
????}
????function?complete()?{
????????if?(path?==?'/login')?{
????????????res.writeHead(200,?{
????????????????'Content-Type':?'text/plain;charset=utf-8'
????????????})
????????????let?{?username,?password?}?=?get;
????????????if?(!user[username])?{
????????????????res.end(JSON.stringify({
????????????????????err:?1,
????????????????????msg:?'用戶名不存在'
????????????????}))
????????????}?else?if?(user[username]?!=?password)?{
????????????????res.writeHead(200,?{
????????????????????'Content-Type':?'text/plain;charset=utf-8'
????????????????})
????????????????res.end(JSON.stringify({
????????????????????err:?1,
????????????????????msg:?'密碼不正確'
????????????????}))
????????????}?else?{
????????????????res.end(JSON.stringify({
????????????????????err:?0,
????????????????????msg:?'登陸成功'
????????????????}))
????????????}
????????}?else?if?(path?==?'/reg')?{
????????????res.writeHead(200,?{
????????????????'Content-Type':?'text/plain;charset=utf-8'
????????????});
????????????let?{?username,?password?}?=?post;
????????????if?(user[username])?{
????????????????res.end(JSON.stringify({
????????????????????err:?1,
????????????????????msg:?'用戶已經(jīng)存在'
????????????????}))
????????????}?else?{
????????????????user[username]?=?password;
????????????????res.end(JSON.stringify({
????????????????????err:?0,
????????????????????msg:?'注冊成功'
????????????????}))
????????????}
????????}?else?{
????????????fs.readFile(`www${path}`,(err,data)=>?{
????????????????if(err){
????????????????????res.end('404');
????????????????}else{
????????????????????res.end(data);
????????????????}
????????????})
????????}
????}
}).listen(8080)
查看全部 -
Node的優(yōu)勢:
1、高性能,得益于異步IO,在處理高并發(fā)上有極佳效果
2、處理數(shù)據(jù)快,對后臺壓力小
3、安全性高,在后臺外加一層防護層
查看全部 -
require
如果有路徑,就去路徑里面找
沒有就去node_modules里面找
查看全部 -
系統(tǒng)模塊,需要require(),但不需要單獨下載
path:用于處理文件路徑和目錄路徑的實用工具
查看全部 -
全局模塊:
process.env
process.aggv
查看全部 -
npm install 安裝packsge.json里所有的安裝依賴,用于給客戶時,直接安裝,npm update xxx 升級
查看全部 -
npm init初始化一個包管理
查看全部
舉報