Node.js的起步;

什么是 Node.js?

(1)Node.js一门后端语言;
(2)基于Chrome V8引擎的javascript运行环境;
除此之外:还有其他引擎,单片机,actionscript就是其中之一;
(3)Node.js有两大特征:

  1. 事件驱动;
    1).事件的定义 ( 发布 ) ;
    2).事件的触发 ( 订阅 ) ;
  2. 非阻塞式 I/O 模型;
    1).非阻塞:执行一个任务时,不需要等待这个任务执行完成,就可以去执行其他的任务;
    1).I / O:磁盘文件操作 / 数据库数据操作(增删改查);
总结:
Q:非阻塞,但是javascript是单线程,要想实现非阻塞,必须放在任务队列,怎 么放入任务队列?
A:javascript中异步操作;
Q:js中如何实现异步操作?
A:①回调函数;
   ②Promise;
   ③gengator函数;
   ④asycn函数;
   ⑤Node.js自带的 nextTick、setImmediate;
   ⑥别人封装的 async.js 库;

Node.js的包管理器;

(1)npm:全球最大的开源生态系统(国外的);
(2)cnpm:淘宝镜像(国内的);
(3)yarn:比较流行的包管理器;

Node.js的版本问题;

(1)Node.js有两个版本,一个是测试版,一个是稳定版(如图,蓝色指向的是稳定版,红色指向的是测试版);
Node.js的起步;
(2)业内规定:
1).版本为单数:测试版,bate版本;
2).版本为偶数:稳定版;

Node.js安装;

  1. 官网下载镜像直接安装(只能使用一个版本);
  2. 使用nvm来安装(nvm可以管理多个Node.js版本);
    安装前卸载本地的Node.js;

nvm安装时注意事项:
1).nvm安装时注意环境变量;
Node.js的起步;
2).注意nvm文件夹中"setting.txt"的修改,加入下面两行代码;
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
3).nvm安装后文件夹中可能出现 " temp文件夹 " ;同时,bash: npm: command not found;如果出现,那么再去Node.js官网再下一个Node.js,再去使用npm;

Node.js使用;

  1. 命令终端使用;
    1).Node.js的全局对象是global;javascript的全局对象是window;
    2).直接在命令终端中输入node,然后回车,就会出现 ’ > ’ 标识,然后就可以写js语法;
    Node.js的起步;
    3).命令终端的退出:ctrl + c *twice OR .exit;
    Node.js的起步;
  2. 文件使用;
    1).命令行键盘 tab 键自动补全文件名称;
    2).执行文件 / 运行文件:
    $ node filename.js
    3).自动监听Node.js文件 / 自动刷新工具;
    nodemon file.js;
    supervisor
    <1>npm安装:
    -$ npm install nodemon -g;
    -$ npm install supervisor -g;
    <2>cnpm安装:
    -$ cnpm install nodemon -g;
    -$ cnpm install supervisor -g;
    <3>yarn安装:
    -$ yarn add nodemon global;
    -$ yarn add supervisor global;

Node.js服务器;

  1. web服务器(静态服务器);
  2. api服务器(动态服务器),数据接口;