NodeJS 模块(内置模块)

一、使用严格模式:
(1)文件开头说明 ‘use strict’;
(2)通过设置参数设置nodejs环境统一使用严格模式运行 node --use_strict
二、模块:
把很多函数分组,分别放在不同的文件中,这样每个文件包含的代码就比较少,在nodejs中,一个js文件成为一个模块
优点:(1)提高了代码的可维护性
(2)写代码不用从零开始写每一个模块编写完毕可以被其他地方引用,在编写程序的时候,经常使用第三方模块和nodejs内置模块


三、模块之间的相互引用:
(1)新建一个hello.js文件

在文件中第7行,把greet作为模块输出暴露出去
(2)新建一个引用hello的main.js文件

使用时通过require()函数应用hello.js文件,可以直接使用greet()函数
另外,引用时目录一定要写正确,使用相对路径写
(3)说明:
这种模块的加载机制被称为CommonJS规范,每个js文件是一个单独的模块,内部使用的函数和变量互不干扰,就像上面两个文件中都有s变量,但是互不影响
【1】一个模块想要对外暴露变量(函数也是变量)可以用module.exports = varible;
一个模块想要引用其他模块可以使用 var ref = require(‘module_name’);这样就拿到了引用模块的变量
四、基本模块:
服务器JavaScript和客户端中JavaScript环境中最大的不同就是没有浏览器的安全限制了,而且服务器程序必须能够接受网络请求,读写文件,处理二进制内容,所以nodejs内置模块就是为了实现基本的服务器功能。这些模块在浏览器中是无法被执行的,他们底层使用c/c++在nodejs环境中实现的
(1)global
在JavaScript中有且仅有一个全局对象,叫做window对象,而在nodejs环境中也有一个全局对象global,这个对象的属性和方法也和window不同,进入nodejs环境中可以直接输入:

(2)process
Process也是一个nodejs对象,它代表nodejs当前的进程,通过他可以的到很对有用的信息

JavaScript是由事件驱动的单线程模型,nodejs也是,nodejs不断执行响应事件的JavaScript函数,直到没有任何响应事件的函数可以执行时,nodejs就退出了
如果想要在下一次响应中执行代码,可以调用process.nextTick()
执行代码:

结果:

说明传入process.nextTick()的不会立即执行,而是等到下一次事件循环
nodejs进程本身的事件就由process对象来处理,如果我们响应exit()事件,就可以在程序即将退出时执行某个回调函数

(3)判断JavaScript运行环境:
有很多JavaScript代码既能在node环境中运行也能在JavaScript环境中运行,但是有些时候程序本身需要判断自己到底是在什么环境下运行的常用的方式就是根据浏览器和Node环境提供的全局变量名来判断:

运行结果:

资料出处:廖雪峰的官方网站

feihu分享到:

          

You may also like...

Scroll Up