美文网首页
Node加载模块的方式

Node加载模块的方式

作者: 爱笑的疯小妞 | 来源:发表于2019-07-03 15:42 被阅读0次
image.png

require机制
假设Y是路径,X是文件名或目录名,当 Nodejs 遇到 require(Y+X) 时,按照下面的顺序处理:
1、如果 X 是核心模块(例如:require("http"))
a.返回该模块b.不再继续执行

2、如果Y是以“./”、“/”或“../”开头
a.把X当成文件,从指定路径开始,依次查找下面文件:X、X.js、X.json、X.node,只要其中一个存在,就 返回该文件,不再继续执行
b.把X当成目录,从指定路径开始,依次查找下面文件:X/package.json(main字段)、X/index.js、X/index.json、X/index.node,只要其中一个存在,就返回该文件,不再继续执行

3.如果 X 不是核心模块,也没有以“./”、“/”或“../”开头,则Nodejs会从当前模块的父目录开始,尝试从它的 /node_module 目录里加载模块,如果还是没有找到,则移动到再上一层父目录,直到文件系统的根目录

4.抛出“not found”

vue项目main.js文件下import router from './router'默认导入router文件夹下index.js的原因?
a.把router当作文件,从指定路径开始,依次查找router、router.js、router.json、router.node不存在
b.把router当作目录,从指定路径开始,依次查找router/package.json(main)、router/index.js、router/index.json、router/index.node,找到router/index.js,返回该文件

相关文章

  • Node.js 核心模块概述

    模块加载原理与加载方式 Node 中的模块:核心模块/原生模块:Node提供的模块。文件模块:用户编写的模块。 N...

  • Nodejs的自定义模块加载中的坑

    加载自定义模块有两种方式: 按文件路径加载模块 通过查找node_modules目录加载模块 按文件路径加载 这种...

  • Node加载模块的方式

    require机制假设Y是路径,X是文件名或目录名,当 Nodejs 遇到 require(Y+X) 时,按照下面...

  • nodejs模块加载机制

    不同于传统js通过标签引入的方式加载进页面,node通过require方法加载文件,或者说是模块,在node中一个...

  • app.js初始版

    加载express模块 加载模板 //加载数据库模块 创建app应用,node -> http.createSev...

  • vue项目main.js文件下import router fro

    这个不是vue的规定而是node加载模块的方式,当require('./router')(import会被转为re...

  • node 模块加载和webpack resolve

    node 模块加载和webpack resolve node module webpack resolve nod...

  • Node模块原理0926

    Node模块原理 1.node模块原理分析 js代码 2.node模块加载分析(多看几遍视频) 3.自己实现一下(...

  • 第6天笔记 nodejs 模块-1

    模块 Node 有简单的模块加载系统。在 Node 里,文件和模块是一一对应的。下面例子里,foo.js加载同一个...

  • Node 面试题整理

    1:简述require()模块加载机制 答:在node中文件即模块,分为原生模块和3种文件模块。具体加载顺序如下图...

网友评论

      本文标题:Node加载模块的方式

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