node学习笔记(一)
什么是 Node?
- node是基于v8引擎的js运行环境
特点:用事件驱动、无阻塞的io模型
优点:轻量、高效
node安装
nvm 安装和管理 Node.js版本
- nvm的安装方式,node.js version manager 是一个node的版本管理工具
查看版本号
nvm list
用哪个版本(已经下载过的版本)
nvm use 版本号
下载相对应版本
nvm install 版本号
nvm下载的是二进制版本
控制台基本使用
允许用户可以在终端命令台中与操作系统交互,其实就是输入与输出
基本命令
dir
directory 列出当前目录下所有的条目
- 别名
ls
在 powershell 中可以使用
- 别名
cd
change directory 切换目录
切换到当前目录下的 Desktop 目录
shirley:~ shirley$ cd desktop
shirley:desktop shirley$
切换到上一级目录
shirley:test shirley$ cd ../
shirley:code shirley$
连续进入多级目录
shirley:desktop shirley$ cd ./code/test
shirley:test shirley$
执行js文件
用node执行js文件,文件在当前目录下—->node +文件名
如果不在当前目录下,node +文件路径的形式执行
相对路径
./当前路径
../上级目录
Global
global和window很像,都是全局对象
console
断言 是用来测试用的
断言就是假定一个条件,如果条件成立则不输出任何内容,如果条件不成立则报错还要输出想要输出的内容。
console.assert(条件,条件不成立输出的内容);
var foo=3;
console.assert(foo==3,"失败");
time() timeEnd()成对出现,计算在两个方法中间的代码的运行时间,传入的参数要一致
console.time('test');
console.timeEnd('test');
__dirname 和 __filename
__dirname 用来找到当前文件夹的路径
__filename 用来去到当前文件的路径
它们属于模块作用域,可以直接使用,是用来获取路径的,一般用于操作文件路径的时候,才会用到
process
process 是一个全局可用对象,用来和我们现在启动中的node进行交互的
process.version取版本号
在控制台做标准输出
process.stdout.write(hello world
);
node.js模块化
一个js文件在node里面我们就理解为一个模块
require用来加载模块
module.exports是用来曝露属性和方法的,因为模块有封装性,需要打破封装性曝露方法和属性来
exports是module.exports的别名,exports可以做的事情,module.exports都可以做,exports只能用.的形式曝露属性和方法