理解NodeJS
JS是脚本语言,每个脚本语言都需要一个解析器才能运行。
以前的JS都是跟HTML存在,我们把页面挂载在浏览器的时候,这时候的浏览器就是一个解析器的角色。
对于JS,需要独立运行,这时候也需要一个解析器,也就是NodeJS。
对于浏览器这个解析器来说,JS的用途只是操作DOM,所以浏览器就提供document之类的内置方法
对于NodeJS这个解析器来说,JS的用途是操作磁盘文件以及HTTP服务,所以NodeJS就提供了fs、http等内置对象。
NodeJS的用途
实现高性能的web服务,事件机制以及异步IO模式
安装并运行
安装略。
打开命令行,输入node
便可以进入node命令模式,这时候你可以声明var,各种console.log进行各种hello world!
权限相关
使用NodeJS监听80或443端口提供http服务时需要root权限。
这里推荐的方式是使用sudo
命令运行Nodejs
sudo
在这里应该是代表超级管理员的意思。
模块
require
require
用于模块加载以及使用,传入模块名称,返回一个模块导出的对象。模块名称可使用相对路径,也可以是绝对路径。模块的后缀.js可以省略。
exports
exports
用于模块的导出。require
引用的模块返回的对象就是引入模块export的对象。
module
module
用途较多是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,如果想改成一个函数的话,可以使用以下方式
代码模块化,最好有一个主入口文件,引入其他模块。
一个模块中的JS代码仅在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象。之后,缓存起来的导出对象被重复利用。
CMD模块系统