当前位置: 首页 > 后端技术 > Node.js

Node.js模块_0

时间:2023-04-04 01:10:01 Node.js

实际工作中,在编写稍微大一点的程序时,一般都会对代码进行模块化处理。在NodeJS中,一般会把代码合理的拆分成不同的JS文件,每个文件就是一个模块,文件路径就是模块名。在编写每个模块时,都有三个预定义的变量,require、exports和module可供使用。内置模块Node.js有一组内置模块,无需进一步安装即可使用。比如assert、buffer、child_process、cluster等。当然除了内置模块,我们还可以通过npm命令安装第三方模块。模块的使用在使用模块之前,我们需要使用require()命令来加载模块,如下:varhttp=require('modulename');示例:例如使用应用程序访问HTTP模块,创建服务器:varhttp=require('http');http.createServer(function(req,res){res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});res.end('霞客岛');}).listen(8888);启动文件后,在浏览器中访问http://127.0.0.1:8888/,页面会显示“霞客岛”字样(这里就不截图了,大家可以自己试试)。如何创建模块除了使用Node.js中的内置模块,或者使用第三方模块。我们还可以创建自己的模块并将它们包含在应用程序中。这个其实很简单,因为我们知道文件和模块是一一对应的,一个Node.js文件就是一个模块。示例:创建一个返回日期和时间对象的模块,将其保存为mymodule.js。其中mymodule是我给文件的自定义名称,也是模块的模块名。如下图:exports.myDateTime=function(){returnDate();};上面代码中,Date()是用来获取当前日期和时间的函数,exports关键字的作用是让属性和方法可用。这也很好理解。比如有两个js文件one.js和two.js。如果我们想在two.js中访问one.js中的方法,应该怎么做呢?可以使用exports来暴露模块接口,这样我们就可以在另一个文件中访问这个模块。要在另一个Node.js文件中使用上面创建的mymodule模块,首先要做的是导入这个mymodule模块,然后使用它,如下:varhttp=require('http');vardt=require('./mymodule');http.createServer(function(req,res){res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});res.write("current日期和时间是:"+dt.myDateTime());res.end();}).listen(8888);将代码保存到test_module.js文件,然后运行该文件。运行该文件的命令如下:nodetest_module.js在浏览器中访问http://127.0.0.1:8888/,页面会显示如下内容:当前日期时间为:ThuApr02202016:50:19GMT+0800(中国标准时间)如图:注意上面代码中使用./来定位模块,表示模块与Node.js文件位于同一个文件夹.导入模块时一定要注意模块的路径,否则找不到模块会报错。乱码问题如果我们在代码中使用中文,出现乱码问题,需要加上下面这句:res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});charset=utf-8用于设置编码,表示当前文档的字符集为utf-8的字符。UTF-8是Unicode的可变长度字符编码,可用于表示Unicode标准中的任何字符。更多可以查看:https://www.9xkd.com/3716132715.html