美文网首页
node模块载入机制

node模块载入机制

作者: 冷小谦 | 来源:发表于2018-12-03 14:53 被阅读6次

node内模块以及载入顺序为:

  1. 内置模块
  2. 文件模块
  3. 文件目录模块
  4. node_modules模块

内置模块

var http = require('http');

http即node内置模块

文件模块

绝对路径
var myMod = require('/home/base/my_mod')
相对路径
var myMod = require('./my_mod')
node中默认扩展名为js

文件目录模块

若直接require一个目录
var myMod = require(./folder)
node将搜索整个目录,node会假设目录就是一个包,先寻找package.json,若没有package.json就假设默认文件为index.js。若都没有则加载失败。
package.json定义为:
{ "name": "pack", "main": "modA.js" }
则目录返回模块modA.js,若package.json不存在,则寻找index.js。

载入node_module模块

如果模块名不是路径,也不是内置模块,Node将试图去当前目录的node_modules文件夹里搜索。如果当前目录的node_modules里没有找到,Node会从父目录的node_modules里搜索,这样递归下去直到根目录。

自动缓存已载入模块

对于已加载的模块Node会缓存下来,而不必每次都重新搜索。下面是一个示例

modA.js

console.log('模块modA开始加载...')
exports = function() {
    console.log('Hi')
}
console.log('模块modA加载完毕')

init.js

var mod1 = require('./modA')
var mod2 = require('./modA')
console.log(mod1 === mod2)

输入如下

`

可以看到虽然require了两次,但modA.js仍然只执行了一次。mod1和mod2是相同的,即两个引用都指向了同一个模块对象。

相关文章

  • node模块载入机制

    node内模块以及载入顺序为: 内置模块 文件模块 文件目录模块 node_modules模块 内置模块 http...

  • Node.js 模块机制

    Node.js 模块机制 Node.js 模块机制采用了 Commonjs 规范,弥补了当前 JavaScript...

  • Learn Node By runoob

    Node.js的组成部分 引入required模块:可以使用require指令来载入Node.js模块。 创建服务...

  • Node.js - 创建node.js应用

    创建一个Node.js应用: 引入 required 模块我们使用 require 指令载入 http 模块,并将...

  • node学习笔记之模块载入方式与机制

    Node.js中模块可以通过文件路径或名字获取模块的引用。模块的引用会映射到一个js文件路径,除非它是一个Node...

  • Node模块机制

    Q&A 1.node模块机制有什么用?答:node模块机制使你可以选择要暴露给引用这个模块的程序的变量、函数或对...

  • 07 Modules 模块

    缺省模块 Prelude 模块是缺省模块,会被自动载入 载入模块 用 import 可以载入模块,模块载入后,其中...

  • 深入NodeJS的模块机制

    Node.js 模块的实现 之前在网上查阅了许多介绍 Node.js 的文章,可惜对于 Node.js 的模块机制...

  • node 模块机制

    模块引用 示例代码如下: 在 CommonJS 规范中,require 接受一个模块标志,以此引入模块的 API。...

  • Node-第一个程序

    Node.js应用由哪几部分组成 引入required模块: 我们可以使用require指令来载入Node.js模...

网友评论

      本文标题:node模块载入机制

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