一.模块

作者: 这个名字很好 | 来源:发表于2016-12-25 14:27 被阅读2次

    在NodeJs中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名.

    1.0 概念

    1. require
      require函数用于在当前模块中加载和使用别的模块,另外模块中的.js扩展名可以省略.
      还可以使用以下方式加载和使用一个JSON文件

    var data = require('./data.json')

    1. exports
      exports对象是当前模块的导出对象.用于导出模块公有方法和属性.别的模块通过require函数调用.
    2. module
      通过module对象可以访问到当前模块的一些相关信息. 但最多的用途是替换当前模块的导出对象.
      模块导出对象默认是一个普通对象,如果想改成一个函数的话,使用如下方式

    module.exports = function () { console.log('hello world') };

    2.0 模块初始化

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

    3.0 模块路径解析规则

    require函数支持(/)斜杠或盘符(C:)开头的绝对路径,也支持(./)开头的相对路径
    另外还有一种路径规则

    • 内置模块
      如果传递给require函数的事nodejs的内置模块名称,不做路径解析,直接返回内部模块的对象. eg: require('fs')
    • node_modules目录
      eg: 某个模块的绝对路径是/home/user/hello.js, 在该模块中使用require('foo/bar')方式加载模块时,则nodehs依次尝试使用以下路径.

    /home/user/node_modules/foo/bar
    /home/node_modules/foo/bar
    /node_modules/foo/bar

    相关文章

      网友评论

        本文标题:一.模块

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