我爱编程

node.js基础

2016-08-15  本文已影响47人  whbsspu

什么是node.js

JS是个脚本语言,需要解析器才能运行,浏览器之所以能够执行JS,是以为浏览器充当了一个解析器的角色。而对于相对独立的JS来说,node.js就是一个解析器。
任何操作系统下安装nodejs本质上做的事情是将nodejs执行程序复制到一个目录,以便于终端下可以执行node命令。

运行在浏览器中的JS是操作DOM,而运行在NodeJS中的js是操作磁盘文件或者搭建http服务器的。

有啥用处

NodeJS作者创建这个脚本的目的是为了实现高新能的WEB服务器。

什么是模块

编写稍微大一点的程序时一般都会将代码模块化。在NodeJS中一般将代码拆分到不同的JS文件中,每个文件就是一个模块,而文件路径就是模块名。

require
require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块到处的对象。模块名可以使用相对路径(以./开头),或者是绝对路径。另外,模块名中的==.js==扩展名可以省略。例如

var foo = require('./foo');

exports
exports 是当前模块的导出对象,用于到处模块公有方法和属性。别的模块通过==require==函数使用当前模块时得到的就是当前模块的==exports==对象

module
通过module对象可以访问当前模块的一些相关信息,但是改对象最大的用途是替换当前模块的导出对象。例如模块导出对象默认是一个普通的对象,如果想改成一个函数的话,那么可以使用以下方式:

module.exports = function () {
    console.log('Hello World!');
};

模块初始化
一个模块中的js代码仅仅是在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象,之后,缓存期导出对象并被重复利用。

主模块
通过命令行启动nodejs的模块被称为主模块,相当于程序入口。例如:

node index.js

index.js就是主模块,主模块主要负责调度组成整个程序的其它模块完成工作。

我们已经知道了JS模块的基本单位是单个JS文件,但是复杂些的模块往往是由许多个子模块组成的。为了便于管理和使用,我们把由多个子模块组成的大模块称为,并把所有子模块放在同一个目录里。

上一篇下一篇

猜你喜欢

热点阅读