在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
.。。。。。。。。。。。。。。。。後續會繼續補充。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。