美文网首页
Node.js模块

Node.js模块

作者: 前白 | 来源:发表于2020-03-16 09:51 被阅读0次

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

    在编写每个模块时,都有requireexportsmodule三个预先定义好的变量可供使用。

    内置模块

    Node.js有一组内置模块,无需进一步安装即可使用。例如assert、buffer、child_process、cluster等。

    模块的使用

    可以使用require()指令来载入模块:

    var http = require('模块名');
    
    示例:

    例如使用应用程序访问HTTP模块,并创建服务器:

    var http = require('http');
    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
        res.end('侠课岛');
      }).listen(8888);
    

    创建模块

    我们可以创建自己的模块,然后将之包含在应用程序中。

    示例:

    创建一个返回日期和时间对象的模块,保存为mymodule.js中:

    exports.myDateTime = function () {
      return Date();
    };
    

    exports关键字的作用是使模块文件外部的属性和方法可用。

    然后将Node.js文件中使用创建的这个模块:

    var http = require('http');
    var dt = require('./mymodule');
    
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
      res.write("当前日期和时间为:  " + dt.myDateTime());
      res.end();
    }).listen(8888);
    

    上述代码中使用了./来定位模块,表示该模块与Node.js文件位于同一文件夹中。

    将代码保存到test_module.js文件中,然后运行文件

    node test_module.js
    

    访问http://127.0.0.1:8888/,可以看到显示日期和时间。如下所示:

    乱码问题

    如果使用中文,出现了乱码问题,需要添加:

    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    

    charset=utf-8用于设置编码,表示当前文档的字符集是采用utf-8的字符。utf-8是针对Unicode的一种可变长度字符编码,可以用来表示Unicode标准中的任何字符。

    相关文章

      网友评论

          本文标题:Node.js模块

          本文链接:https://www.haomeiwen.com/subject/supwehtx.html