1. 程式人生 > >在node.js裡你應該知道的小知識

在node.js裡你應該知道的小知識

1,exports===module.exports //true

注意:當exports被重新賦值之後,他兩就不會指向同一個物件了,資料就不會返回,但是返回資料的是module.exports!!!

2,解決npm載入慢------淘寶映象(因為訪問的是國外的伺服器)

使用cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

然後cnpm install XXX 就行

3,require方法載入規則:

require方法載入模組,模組分為三種:核心模組,第三方模組,使用者自己寫的模組(路徑形式 )

(1),優先從快取載入

a.js

require('a.js')

require('b.js')

 

b.js

var fn=require('c.js')

console.log(fn)

在b.js中已經載入了c.js,所以a.js裡require('b.js')是不會被載入的,因為之前已經載入過一次,有快取就不會重複載入,提高模組載入的效率

(2),

載入哪一個檔案看package.json檔案,如果package.json檔案main入口指定了入口模組,那麼就載入那個模組,如果沒有指定或者不存在就預設找該目錄下的index.js,如果沒有,就查詢上一級,如果還沒有,就查詢上上一級,直到磁碟根目錄,如果還沒有就報錯:can not find module xxx

(node模組預設放在根目錄裡的node_module裡)

4,--save(-S)和--save-dev(-D)的區別

–save(-S)會存放到”dependencies”,而–save-dev(-D)會存放到”devDependencies”。
--save(-S)是對生產環境所需依賴的宣告(開發應用中使用的框架,庫)
比如:jq,loader都需要放到這裡面
--save-dev(-D)是對開發環境所需依賴的宣告(構建工具,測試工具)
比如:babel,webpack,webpack-dev-server都放到當前目錄

5,解決頻繁重啟伺服器問題(除了本文說的nodemo之外,還有熱載入,這個後面補充)

nodemon:第三方工具

使用方式:

(1),安裝

npm install --global nodemon

(2),使用

nodemon app.js

.。。。。。。。。。。。。。。。。後續會繼續補充。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。