node.js中require加载规则是什么,如何实现
Admin 2022-06-15 群英技术资讯 325 次浏览
require 方法的加载规则
main.js:执行加载a.js模块
require('./a')
a.js:执行加载b.js模块,并输出a被加载了
require('./b') console.log('a.js 被加载了')
b.js:输出b被加载了
console.log('b.js 被加载了')
结果:
可以看出:main去加载a.js,然后a在去加载b.js过程中,并没有打印两次 a.js被加载,Node会直接从require.cache中根据传入的id,取出该对象的exports值,不会再次执行该模块代码。
核心模块的本质也是文件,核心模块文件已经被编译到了二进制文件中了,我们只需要按照名字来加载就可以了。如:
我们说的路径形式的模块,其实就是加载自己写的JS文件,有四种方式可以加载
var fooExports = require('./index') //相对路径,常用 var fooExports = require('../index') //相对路径,常用 var fooExports = require('/index') //根目录,不常用 var fooExports = require('D:/demo/index') //根目录,不常用
既不是核心模块、也不是路径形式的模块,就是第三方模块。加载方式如下
以 var template = require(‘art-template') 为例:
第三方模块寻找顺序: node_modules/art-template > package.json 文件 > main 属性 > index.js
到此这篇关于详解在node.js中require方法的加载规则的文章就介绍到这了,更多相关node.js require方法加载规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要讲解JavaScript严格模式不支持八进制的问题,本文围绕JavaScript严格模式展开内容,详细介绍为什么JavaScript严格模式不支持八进制,下面来看看详细介绍,需要的朋友可以参考一下
你可能在JavaScript项目中都用了console.log。这是一种查看变量的值或程序运行中发生的事情的便捷方法。但是JavaScriptconsole 对象还有许多其他的功能,可以在处理项目时提供帮助。
这篇文章主要介绍了Vue3 $emit用法指南,使用 emit,我们可以触发事件并将数据传递到组件的层次结构中,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
这篇文章主要介绍了vue 图片裁剪上传组件的实现,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
在react中的三大属性有state、props、refs,这篇文章给大家分享的是有关react的refs属性的内容,小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008