zoukankan      html  css  js  c++  java
  • 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_modules

    2. 使生效

    # .  /etc/profile
    注意: . 和 /etc/profile 有空格
    或者:
    让/etc/profile文件修改后立即生效 ,可以使用如下命令:
    # source /etc/profile

    遇到一个问题: 打开新终端后, npm 不能用。

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

    在 ~/.bashrc 最下面添加:

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

    3.调试(已过时)

    原文链接:Debug Node.js apps with node-inspector

    如果你在编写Node.js代码,node-inspector是必备之选,比Node.js的内置调试器好出许多。使用起来跟Chrome的javascript调试器很相似。

    使用npm安装:

    $ npm install -g node-inspector

    然后需要通过浏览器连接到node-inspector,需要启动inspector服务:

    $ 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 , 集合名称强制使用复数.

  • 相关阅读:
    Mini2440裸机开发之MMU
    Mini2440裸机开发之IIC
    Mini2440裸机开发之SPI
    Mini2440裸机开发之存储器控制器
    Mini2440裸机开发之模数转换开发
    Mini2440裸机开发之LCD编程(GB2312、ASCII字库制作)
    Python pandas df.iloc[:, 0] 取确定列值作双轴图
    python plot 画双坐标轴 设置百分比展示 和字体等细节
    python Sqlserver数据库画双轴图
    windows下Idea中用Python访问oracle数据库的方法
  • 原文地址:https://www.cnblogs.com/newsea/p/6747243.html
Copyright © 2011-2022 走看看