module.exports和exports有什么关系或者区别呢? 我们追根溯源,通过维基百科中对CommonJS规范的解析: CommonJS中是没有module.exports的概念的; 但是为了实现模块的导出,Node中使用的是Module的类,每一个模块都是Module的一个实例,也就是mo ...
分类:
其他好文 时间:
2021-06-04 19:07:52
阅读次数:
0
Node里面的模块系统遵循的是CommonJS规范。 1、CommonJS模块的特点: 所有代码都运行在模块作用域,不会污染全局作用域。 模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。 模块加载的顺序,按照 ...
分类:
其他好文 时间:
2021-05-24 02:03:32
阅读次数:
0
webpack 是一个模块打包器,在它看来,每一个文件都是一个模块。 无论你开发使用的是 CommonJS 规范还是 ES6 模块规范,打包后的文件都统一使用 webpack 自定义的模块规范来管理、加载模块。本文将从一个简单的示例开始,来讲解 webpack 模块加载原理。 CommonJS 规范 ...
分类:
Web程序 时间:
2020-09-18 01:35:39
阅读次数:
45
Commonjs规范 1.1 commonjs规范说明 每一个js文件就是一个模块,文章中我说的模块可以等价为一个js文件 node应用由模块组成,采用的commonjs模块规范。每一个js文件就是一个模块,拥有自己独立的作用域,变量,以及方法等,对其他的模块都不可见。 CommonJS规范规定,每 ...
分类:
Web程序 时间:
2020-07-15 01:04:05
阅读次数:
94
Node应用由模块组成,采用CommonJS模块规范。 每个文件就是一个模块,有自己的作用域。每一个文件里面定义的变量、函数、类都是私有的,对其他文件不可见。 // example.js var x = 5 var add = function(value){ return value + x } ...
分类:
Web程序 时间:
2020-07-04 21:13:56
阅读次数:
70
一、CommonJS node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。 var math = require('math'); 然后,就可以调用模块提供的方法 ...
分类:
Web程序 时间:
2020-06-24 09:16:35
阅读次数:
68
一、初始化项目 1. 创建文件夹jest-sample 2.初始化项目(npm下载包文件)npm init 3. 下载npm依赖包 npm install jest -D 二、简单的测试案例 main.js //在node环境中,使用的是commonJs规范 function add(a, b) { ...
分类:
其他好文 时间:
2020-05-02 16:41:59
阅读次数:
51
模块化的不同解决方案 追根溯源,JS这门脚本语言设计伊始就是没有模块化的,所以早期的全局变量容易造成命名冲突。但随着web项目越来越大,JS的代码量也与日俱增,于是社区就自发约定了几种模块化的方案:requirejs遵循AMD,seajs遵循CMD,node的module遵循CommonJS规范,虽 ...
分类:
Web程序 时间:
2020-04-23 01:08:26
阅读次数:
106
1. 概述 js发展初期暴露了其缺陷:缺乏模块,后来提出了commonJS规范来规范其模块的规范。作为JavaScript新手,发现对于其JavaScript的模块机制,不是很理解。我查阅了一些资料整理了JavaScript CommonJS的原理和机制。 2. JavaScript 2.1 无后端 ...
分类:
编程语言 时间:
2020-03-28 19:55:17
阅读次数:
84
CommonJS、AMD、UMD、ESM 无论是那种模块化规范,重点关注 独立模块作用域 导出模块内部数据 导入外部模块数据 CommonJS 在早起前端对于模块化并没有什么规范,反而是偏向服务端的应用有更强烈的需求,CommonJS 规范就是一套偏向服务端的模块化规范,NodeJS 就采用了这个规 ...
分类:
Web程序 时间:
2020-03-26 01:20:15
阅读次数:
99