?優(yōu)勢(shì):
1.性能高
2.利于前端代碼整合
3.便于前端開(kāi)發(fā)入門
環(huán)境搭建和運(yùn)行
傻瓜式安裝 一路下一步
檢測(cè)是否安裝成功
node -v
直接輸入node 會(huì)有一個(gè)等待的光標(biāo)旷余。這里可以直接脫離瀏覽器去運(yùn)行
如何運(yùn)行程序呢蒋歌?
比如我們新建一個(gè)a.js
首先打開(kāi)命令行:進(jìn)入指定的文件夾 輸入 node a.js 就能看到如下效果
NPM包管理
在沒(méi)有npm以前?
在有了npm以后 有一個(gè)package.json,如何來(lái)初始化創(chuàng)建呢脑题,我們打開(kāi)命令行輸入
npm init?
沒(méi)有想要設(shè)置的就一路按回車 出現(xiàn)如上的圖 繼續(xù)回車 這時(shí)候再返回剛才的文件夾就發(fā)現(xiàn)多了一個(gè)package.json的文件
這里就是我們剛剛init時(shí)設(shè)置的內(nèi)容棺榔。
發(fā)現(xiàn)上面多了個(gè)scripts,這個(gè)就是腳本掠河, 我們輸入這個(gè)test的時(shí)候就是相當(dāng)于輸入后面的一長(zhǎng)串東西秋麸。用過(guò)vue的 npm run dev就類似一個(gè)道理
我們?nèi)绾稳グ惭b一個(gè)第三方包呢心傀?
npm install 包名
我們就發(fā)現(xiàn)多了我們的文件夾中多了個(gè)node_modules恼琼,打開(kāi)就發(fā)現(xiàn)里面有jquery文件夾妨蛹,然后在打開(kāi)package.json
然后你要是刪除包 就可以直接在這里刪除,把你的項(xiàng)目交給你新來(lái)的同事的時(shí)候驳癌,他們不知道你用的什么東西的情況下 只要看package.json就能知道都用到了什么技術(shù)。
如何刪除一個(gè)包役听?
npm uninstall 包名
以上命令都是可以簡(jiǎn)寫的
npm i xxx? /** 安裝 */
npm un xxx /** 刪除 */
npm 國(guó)外的颓鲜、cnpm 是國(guó)內(nèi)的?
npm install -g cnpm --registry=https://registry.npm.taobao.org
-g就是全局的意思 如果不要-g就是相當(dāng)于當(dāng)前文件夾 去打開(kāi)其他文件夾的時(shí)候cnpm 是不可用的
有需要的可以去安裝cnpm,我電腦npm的速度還是可以的典予。
npm update xxx //更新
npm install // 安裝package.json的依賴全部安裝一遍了 簡(jiǎn)寫 npm i
Node的模塊
1.全局模塊 (對(duì)象)process
2.系統(tǒng)模塊 (內(nèi)置的模塊甜滨,我們只要引入進(jìn)來(lái),不需要去下載)
3.自定義模塊 (自己寫好的模塊瘤袖,把他暴露出去的)
全局模塊????
? ? 定義:何時(shí)何地都能訪問(wèn)衣摩,不需要引用
? ? process.env (環(huán)境變量)
? ? ? ? 環(huán)境變量是什么?
? ? ? ? ? ? 打開(kāi)電腦捂敌,右擊有個(gè)屬性艾扮,里面有高級(jí)系統(tǒng)設(shè)置,比如你新增了環(huán)境變量haha占婉,值是xixi,然后進(jìn)行代碼打印泡嘴,將會(huì)看到我們的系統(tǒng)環(huán)境變量都會(huì)打印出來(lái)
? ? process.argv (打印命令)
系統(tǒng)模塊
定義:需要require(),但不需要單獨(dú)下載
path: 用于處理文件路徑和目錄路徑的實(shí)用工具
自定義模塊
? ? 定義:require自己封裝的模塊
????exports 拋出
????module 批量導(dǎo)出
????require 導(dǎo)入 1.如果有路徑就去路徑里找 2.如果沒(méi)有就去node_modules里面找 3.如果都沒(méi)有就去node安裝包的默認(rèn)路徑下找
重點(diǎn) http模塊
服務(wù)器對(duì)象 http.createServer()