nodejs入门笔记

Node 就是Javascript在服务器端运行环境,javascript语言通过Node在服务器上运行,Node有点像javascript虚拟机

其次,Node提供了大量的工具库,使得javascript语言与操作系统互动(文件读写,新建子进程),由此node又是javascript的工具库.

NVM(Node Version Manager)Node版本管理工具,之后的开发工作需要在多个Node版本中进行测试

安装操作步骤
  1. 下载:nvm-windows
  2. 解压到一个全英文路径
  3. 编辑解压目录下的settings.txt文件(不存在则新建)

    • root 配置为当前 nvm.exe 所在目录
    • path 配置为 node 快捷方式所在的目录
    • arch 配置为当前操作系统的位数(32/64)
    • proxy 不用配置
  4. 配置环境变量 可以通过 window+r : sysdm.cpl

    • NVM_HOME = 当前 nvm.exe 所在目录
    • NVM_SYMLINK = node 快捷方式所在的目录
    • PATH += %NVM_HOME%;%NVM_SYMLINK%;
    • 打开CMD通过set [name]命令查看环境变量是否配置成功
    • PowerShell中是通过dir env:[name]命令
  5. NVM使用说明:

    • https://github.com/coreybutler/nvm-windows/
  6. NPM的目录之后使用再配置

 

    

1.node中全局作用域及全局对象和函数

1.1node基本命令

1.2REPL环境:read Eval Print Loop交互式的运行环境,接收用户输入,执行用户输入,打印执行结果到控制台,循环到下一次,(类似Chrome Developer Tools)

1.3全局对象

    global:类似于javascript运行环境中的window

    process:用于获取当前的Node进程信息,一般用于获取环境变量等信息

    console:node中内置的console模块,提供操作控制台的输入输出功能

1.4全局变量

1.5全局函数

    setInterval(callback,millisecond)

    clearInterval(timer)

    setTimeout(callback,millisecond)

Buffer:class 用于操作二进制

1.6异步操作之回调函数

 

2.node调试

Node原生调试 https://nodejs.org/api/debugger.html

第三方模块提供的调试工具

-$ npm install node-inspector -g

-$ npm install devtool -g

开发工具调试

   Visual Studio Code

  Webstrom    

3.异步操作

    Node采用ChromeV8处理引擎处理Javascript脚本,V8最大的特点就是单线程,一次只能

运行一个任务.

node大量采用异步操作(asynchromous operation),即任务不是马上执行,而是插在任务队列的尾部,等到前面的任务运行完后再执行.????插在队列尾部 这不也是要一个个执行吗???

提高代码的响应能力.

Node所有会阻塞执行的代码都是异步的.

3.回调函数的设计

对于一个函数如果需要定义回调函数

回调函数一定作为参数的最后一个参数出现

function  foo1(name,age,callback){}

function foo2(value,callback1,callback2){}

回调函数的第一个参数默认接收错误信息,第二个参数才是真正的回调数据(便于外界获取调用错误的情况)

 

foo1('zhangsan',18,function(error,data)){

if(error) throw error;

console.log(data);

}

4.node约定 

错误优先:因为之后的操作大多数是异步的方式,无法通过try  catch捕获异常  

错误优先的回调函数 第一个参数为上一步的错误调用信息

 

 

模板字符串:可以直接在里面取变量,可以回车换行

 
  1. var msg='hello';
  2. //模板字符串
  3. proces.stdout.write(`${msg} world`);

------------------------总结----------------------

javascript书写的代码只能运行在浏览器中,代码最终是要运行在别人的浏览器中;所以javascript缺少文件读取,操作系统交互,网络服务相关的模块功能.由此可知node到底是个什么东西:

1.node使得我们写的javascript代码可以运行在服务器上,这个有点像java中的java虚拟机.

2.node提供了,文件操作,操作系统交互,网络文件读取等一系列相关的功能模块,使得我们可以使用javascript可以编写

服务器端的程序.

 

NVM是 node的版本管理工具,node有很多版本,我们日后开发的程序,需要运行在不同的node版本中,所以需要一个专门的管理工具.

NPM node的包管理工具,node有很第三方的包,统一使用NPM来进行管理.???less使用npm可以安装很多其他的包,与node相关吗??

 

异步非阻塞I/O

在node中任何阻塞线程的程序代码都会异步执行.

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/itly/blog/769755

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值