资讯专栏INFORMATION COLUMN

Node中的Module源码分析

appetizerio / 2847人阅读

摘要:在项目中,和使用非常普遍,模块化带来的效率大大提升。一直很好奇背后是怎样运行的,最近仔细看了看这部分的源码,然后参考了其他人的文章,还好中的是写的可以看懂。规范规范可以说是模块化中的里程碑,目前上面的包基本都支持该规范。

在node项目中,require和module.exports使用非常普遍,js模块化带来的效率大大提升。一直很好奇require背后是怎样运行的,最近仔细看了看这部分的源码,然后参考了其他人的文章,还好node中的Module是JavaScript写的可以看懂。

CommonJs规范

commonJs规范可以说是js模块化中的里程碑,目前npm上面的包基本都支持该规范。在CommonJs中:

一个文件就是一个模块,拥有多带带的作用域;

普通方式定义的变量、函数、对象都属于该模块内;

通过require来加载模块;

通过exports和module.exports来暴露模块中的内容;

举个

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107883.html

相关文章

  • Node.js模块化机制原理探究

    摘要:要想让模块再次运行,必须清除缓存。用户自己编写的模块,称为文件模块。并且和指向了同一个模块对象。模块路径这是在定位文件模块的具体文件时指定的查找策略,具体表现为一个路径组成的数组。 前言 Node应用是由模块组成的,Node遵循了CommonJS的模块规范,来隔离每个模块的作用域,使每个模块在它自身的命名空间中执行。 CommonJS规范的主要内容: 模块必须通过 module.exp...

    aikin 评论0 收藏0
  • node模块加载层级优化

    摘要:环境变量法通过上一节的源码分析,我们知道了的作用,那么如何使用或者优雅的使用来解决依赖加载问题呢尝试一最为直接的是,修改系统的环境变量。 模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载。但是随着应用规模的加大,目录层级越来越深,若是在某个模块中想要通过require方式以依赖名称或相对路...

    eccozhou 评论0 收藏0
  • webpack源码分析之三:loader

    摘要:本次介绍的则是用来解决这类问题的。实现模块实现思路将配置内的命令的的内联从前至后组成一个数组。所有字符串内部又可以截取,获取完整的。分析并解析该数组内的字符串,获取各个的绝对路径。 前言 在webpack特性里面,它可以支持将非javaScript文件打包,但前面写到webpack的模块化打包只能应用于含有特定规范的JavaScript文件。本次介绍的loader则是用来解决这类问题的...

    laznrbfe 评论0 收藏0
  • 【page-monitor 前端自动化 中篇】 源码分析

    摘要:上篇中初探了的一些功能和在前端自动化测试方面的可行性,本篇主要分析下的实现方式和源码。文件分析完整文件目录运行生成目录分析出了及其组件代码,可用和值的分析的文件和下面的五个文件。相关文章前端自动化上篇初步调研前端自动化下篇实践应用 上篇中初探了page-monitor的一些功能和在前端自动化测试方面的可行性,本篇主要分析下page-monitor的实现方式和源码。 mode-modul...

    Object 评论0 收藏0
  • Node】前后端模块规范与模块加载原理

    摘要:例如指定一些依赖到模块中实现规范的模块化,感兴趣的可以查看的文档。 CommonJS 定义了 module、exports 和 require 模块规范,Node.js 为了实现这个简单的标准,从底层 C/C++ 内建模块到 JavaScript 核心模块,从路径分析、文件定位到编译执行,经历了一系列复杂的过程。简单的了解 Node 模块的原理,有利于我们重新认识基于 Node 搭建的...

    jsyzchen 评论0 收藏0

发表评论

0条评论

appetizerio

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<