当前位置: 首页 > news >正文

网站建设的方案图片百度搜索引擎优化的推广计划

网站建设的方案图片,百度搜索引擎优化的推广计划,孝义网站建设,设计师个人作品展示网站require 源码解析——彻底搞懂 npm 模块加载原理 require 的使用场景 加载模块类型 加载内置模块:require(fs)加载 node_modules 模块:require(ejs)加载本地模块:require(./utils)支持文件类型 加载 .js 文件加载 .mjs 文件加载 .json 文件…

require 源码解析——彻底搞懂 npm 模块加载原理

require 的使用场景

  • 加载模块类型
    • 加载内置模块:require('fs')
    • 加载 node_modules 模块:require('ejs')
    • 加载本地模块:require('./utils')
  • 支持文件类型
    • 加载 .js 文件
    • 加载 .mjs 文件
    • 加载 .json 文件
    • 加载 .node 文件
    • 加载其他类型文件(视为 .js 文件)

require 源码阅读过程中的一些思考 

  • Commonjs 模块的加载流程
  • require 如何加载内置模块?
  • require 如何加载 node_modules 模块?
  • require 为什么会将非 js/json/node 文件视为 js 文件加载? 

Module 对象

  • id:源码文件路径,如:/Users/sam/Desktop/vue-test/imooc-test/bin/ejs/index.js
  • path:源码文件对应的文件夹,通过 path.dirname(id) 生成
  • exports:模块输出的内容,默认为 {}
  • parent:父模块信息
  • filename:源码文件路径
  • loaded:是否已经加载完毕
  • children:子模块对象集合
  • paths:模块查询范围

require 执行流程

 

  

require 执行流程总结

1. relativeResolveCache[relResolveCacheIdentifier] 查询缓存路径

2. Module._cache[filename] 查询缓存模块

3. Module._resolveFilename 查询模块的真实路径

4. loadNativeModule 加载内置模块

5. new Module 实例化 Module 对象

6. module.load(filename) 加载模块

7. findLongestRegisteredExtension 获取文件后缀

8. Module._extensions[extension](this, filename) 解析模块并执行模块

9. module._compile 编译模块代码

10. compileFunction 将模块代码生成可执行函数

11. exports, require, module, filename, dirname 生成入参

12. compiledWrapper.call 执行模块函数

13. return module.exports 输出模块返回结果 

参考资料

  • 阮一峰 require 源码解读:http://www.ruanyifeng.com/blog/2015/05/require.html
  • UTF8 BOM:https://www.imooc.com/article/26166
  • #!  Shebang:https://blog.csdn.net/u012294618/article/details/78427864

扩展知识

require.main 的妙用

用于测试:https://blog.csdn.net/qq_29438877/article/details/103828845

require 源码执行流程分析

require 加载模块原理详解

require 加载内置模块和四种文件类型原理

require 缓存机制解析和CommonJS加载主模块原理

require 原理总结和回顾

http://www.yayakq.cn/news/939623/

相关文章:

  • 衣服网站模板建交易网站需要多少钱
  • 上海企业网站建设电话凡客现在还能买吗
  • 网站建设 百度百科怎么看网站蜘蛛
  • 局网站建设制度人力资源管理就业方向
  • 寿光 网站建设网站做好后还需要维护吗
  • 昆明怎样优化网站wordpress最新功能
  • 怎么做的网站怎么放上网wordpress api 路径
  • 网站自动化采集鞍山网站制作谁家好
  • 山东网站seo推广优化价格网站运行维护
  • 企业网站建设平台wordpress商家插件
  • 深圳网站建设售后服务怎样网站开发公司的职责
  • 企业画册设计排版青岛seo网站建设
  • 做医疗的网站建设python编程软件pc
  • 大连网站设计布局小程序代码怎么获取
  • 申请个人网站多少钱国别域名注册
  • 用vue做网站的实例专业写作网站
  • 禁止ip直接打开网站电商是什么?一般是干嘛的
  • 晋江网站建设价格做网站英文怎么说
  • 知名企业门户网站建设服务公司建网站用什么工具
  • 建设部网站有项目经理资质查询系统响应式网站设计实训总结
  • 电子商务网站的建站目标黄石企业做网站
  • 连云港seo网站推广室内效果图制作流程
  • 网站开发的毕业设计论文框架企业小程序怎么注册
  • 泰州网站建设优化网站无法做301重定向
  • 乐山建网站优化游戏卡顿的软件
  • 花溪建设村镇银行官方网站杭州网站建设公司有哪些
  • 网站建设泉州广州 深圳 外贸网站建设公司
  • 网站广告费一般多少钱wordpress 电商主题
  • 好的设计作品网站广东h5网站建设
  • 现在网站用什么语言做最好微信小程序登录流程