nodeJs配置

1.  vi /etc/profile

export NODE_HOME=/opt/node-v6.9.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modulesjavascript

 

2. 使生效

# .  /etc/profile
注意: . 和 /etc/profile 有空格
或者:
讓/etc/profile文件修改後當即生效 ,可使用以下命令:
# source /etc/profilehtml

 

遇到一個問題: 打開新終端後, npm 不能用。java

參考 : http://www.oschina.net/question/942236_162558%3Fsort%3Dtime node

在 ~/.bashrc 最下面添加:linux

export NODE_HOME=/opt/node-v6.9.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modulesmongodb

 

3.調試(已過期)

原文連接:Debug Node.js apps with node-inspectorchrome

若是你在編寫Node.js代碼,node-inspector是必備之選,比Node.js的內置調試器好出許多。使用起來跟Chrome的javascript調試器很類似。數據庫

使用npm安裝:npm

$ npm install -g node-inspector

而後須要經過瀏覽器鏈接到node-inspector,須要啓動inspector服務:json

$ node-inspector &

最後以debug模式運行node.js應用:

$ node --debug app.js

經過URL http://127.0.0.1:8080/debug?port=5858 就能夠進行調試了。

 

若是 node-inspector 安裝失敗,多是依賴沒有安裝, 嘗試使用:

npm info node-inspector

npm i -g node-inspector@其它版本

 

3原生調試

可使用原生調試. 

若是是 node執行, 添加 debug參數 ,  node debug  main.js

若是是 npm 執行, 在 package.json 的 script 中修改, 如: build : "node debug build/build.js"

而後在Js文件中使用 debugger; 就能夠了.

參考 : http://www.cnblogs.com/moonz-wu/archive/2012/01/15/2322120.html

 

最新的調試方式是: https://nodejs.org/en/docs/inspector/

node --inspect-brk  a.js 參數     

打開:  chrome://inspect/ 便可.

 

https://juejin.im/entry/5ae2c301518825672b037686

4.  await 使用

(async function () {
    //必須在這裏使用 await 關鍵字。
})()

 // 在外面使用 await 會報錯。

 

Promise 方式實現串行執行:

//串行化執行。
//chain_filter:參數: index, prevResult ,返回下一個Promise,若是不返回下一個Promise,則退出。
jv.line = function (chain_filter) {
return new Promise(function (resolve) {
var _exec = function (index, prevResult) {
var current = chain_filter(index,prevResult);
if (!current) {
return resolve(index,null);
}

current.then(function (res) {
_exec(index + 1, res);
});
};

_exec(0,true);
});
};

var fetchData = function(index){
  return new Promise(function(r){
    jv.post("").then(list){
      if( !list.length){ r(false) ;}
      
      //save data.
      //返回值 表示 prevResult
      r( list.length == take );
    }
  });
}

jv.line( function( index , prevResult ){
  if( prevResult){
    return fetchData(index);
  }
});

5.  mongodb vs mongoose 

看依賴,  mongoose 依賴 mongodb , mongodb 依賴 mongo-core

儘可能使用  mongodb , 最貼近數據庫.

mongoose 驅動,封裝的太嚴重, 就像Java封裝同樣. 好比 : 插入的時候, 額外增長 _v 屬性.  Collection 須要定義 Schema , 集合名稱強制使用複數.

相關文章
相關標籤/搜索