添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Node.js是我第一次接触后端开发,有些思想需要提炼出共性,以扩展到不同的语言,如Java与Python,甚至Go语言。这里只是基础介绍,后续会有Node.js进阶与框架Express实践,之后会学习其他语言的开发技术与框架(初步计划是成熟的Java框架,出名的Python,最新的Go都看一下),提炼一些重要的特点。

  • 方法一:brew install nodejs
  • 方法二(推荐):nvm 管理多个node版本
  • 权限问题 https://docs.npmjs.com/getting-started/fixing-npm-permissions
  • 单线程+异步模型,这是node的优势
  • 理解setTimeout()和setInterval()函数的区别
  • 推荐学习: http://www.ruanyifeng.com/blog/2014/10/event-loop.html
  • 如果某个函数需要回调函数作为参数,则回调函数是最后一个参数

  • 回调函数本身的 第一个参数 ,约定为上一步传入的 错误对象err 。如果没有发生错误则为null。只要判断回调函数的第一个参数,就知道有没有出错!这样还可以层层传递错误。

    1
    2
    3
    4
    5
    6
    if(err) {
    // 除了放过No Permission错误意外,其他错误传给下一个回调函数
    if(!err.noPermission) {
    return next(err);
    }
    }

    传统的错误捕捉机制try…catch对于异步操作行不通,所以只能把错误交给回调函数处理

  • 常用的全局变量

  • global,用来定义共享变量 global.x = 1
  • process 进程控制与信息,下面介绍
  • console 控制台输出,生成环境不推荐使用
  • __filename :指向当前运行的脚本文件名。
  • __dirname :指向当前运行的脚本所在的目录。
  • require() :用于加载模块。
  • setTimeout()
  • clearTimeout()
  • setInterval()
  • clearInterval()
  • Buffer() :用于操作二进制数据。
  • 伪全局变量
  •