Modularity(模块化-CommonJS规范)
第二阶段: CommonJS规范 |
|
CommonJS就是一个JavaScript模块化的规范,该规范最初是用在服务器端的node的,前端的webpack也是对CommonJS原生支持的。
|
|
优点:
|
|
缺点:
|
|
特点
|
|
在浏览器中使用 CommonJS |
|
由于浏览器不支持 CommonJS 规范,因为其根本没有 module、exports、require 等变量, 如果要使用,则必须转换格式。 Browserify是目前最常用的CommonJS格式转换的工具, 我们可以通过安装browserify来对其进行转换. 但是我们仍然需要注意,由于 CommonJS 的规范是阻塞式加载,并且模块文件存放在服务器端,可能会出现假死的等待状态(浏览器在一直下载文件) |
|
|
|
编译
|
|
或者引入
|
|
node中的CommonJS |
// 示例一// 文件名: foo.js
var $ = require('jquery');
var _ = require('underscore');// methods
function a(){}; // 私有方法,因为它没在module.exports中 (见下面)
function b(){}; // 公共方法,因为它在module.exports中定义了
function c(){}; // 公共方法,因为它在module.exports中定义了// 暴露公共方法
module.exports = {b: b,c: c
};
// 示例二// 模块定义
// CommonJS 的规范说明,一个单独的文件就是一个模块,也就是一个单独的作用域。并且模块只有一个出口,module.exports/exports.xxx// lib/math.js
const NAME='Nealayng';
module.exports.author = NAME;
module.exports.add = (a,b)=> a+b;// 加载模块
// 加载模块使用 require 方法,该方法读取文件并且执行,返回文件中 module.exports 对象// main.js
const mathLib = require('./lib/math');
console.log(mathLib.author);//Nealyang
console.log(mathLib.add(1,2));// 3
Modularity(模块化-CommonJS规范)相关推荐
- JavaScript模块化-CommonJS规范
文章目录 认识模块化开发 什么是模块化 模块化的历史 没有模块化带来的问题 CommonJS规范 CJS规范在Node的实现 模块化简单案例 exports和require本质 module.expo ...
- nodejs01——安装及使用、服务端及客户端、commonjs规范、fs模块的使用(文件操作及目录操作)、stream、buffer、WebServer、端口、动态资源及静态资源、头信息、请求方式
nodejs的安装及使用 服务端及客户端 commonjs规范 fs模块的使用(文件操作及目录操作) stream buffer // Node.js介绍 Node.js 诞生于2009年,Node. ...
- js 多个定时器_Node.js系列深入浅出Node模块化开发——CommonJS规范
前言 本文将为大家透彻的介绍关于Node的模块化--CommonJS的一切. 看完本文可以掌握,以下几个方面: 什么是模块化,以及没有模块化会带来哪些问题,是如何解决的: JavaScript的设计缺 ...
- es6 混合commjs_前端模块化——CommonJS、ES6规范
什么叫模块化? 对于一个复杂的程序,将其按照一定的规范封装成几个文件块,每一块向外暴露一些接口,但是块的内部数据是私有的,块与块之间通过接口通信.这个过程称为模块化. 模块化的好处 CommonJS ...
- JavaScript进阶(十二)JS 模块化编程规范-CommonJS、AMD、CMD、ES6
文章目录 一.前言 二.AMD-异步模块定义 三.CMD-同步模块定义 四.CommonJS 规范 五.ES6 六.拓展阅读 一.前言 AMD.CMD.CommonJs是ES5中提供的模块化编程方案, ...
- Modularity(模块化-AMD规范)
第三阶段: AMD规范(Asynchronous Module Definition:异步模块定义) CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作. AMD规范则是 ...
- 模块化:CommonJS规范
目录 CommonJS规范 模块使用环境区分 核心语法 如何使用 CommonJS:服务器端使用 CommonJS:浏览器端使用 CommonJS规范 模块使用环境区分 CommonJS规范中,每一个 ...
- JavaScript模块化 --- Commonjs、AMD、CMD、es6 modules
随着前端js代码复杂度的提高,JavaScript模块化这个概念便被提出来,前端社区也不断地实现前端模块化,直到es6对其进行了规范,下面就介绍JavaScript模块化. 这篇文章还是希望能给大家一 ...
- Commonjs规范
为什么有模块化 1.方便代码维护 2.每个功能放到一个模块内 3.解决命名问题,全局变量污染问题 常见的模块化 1.我们写方法写属性都放在对象里(单例模式) 缺陷声明的对象也有可能命名冲突,不能完全解 ...
最新文章
- LINUX按照物理地址预取,linux – 如何以编程方式禁用硬件预取?
- python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...
- 成功解决SQL server服务,远程过程调用失败
- linux菜鸟入门-1
- oracle 数据库中数据导出到excel
- [转] 标准化和归一化
- class对象和class文件_Class文件格式
- [原]CentOS 6.5 上安装 MySQL 5.6
- android之日志库logger
- 区块链 以太坊 入门知识
- PhantomJS其他语言调用
- 【瑕疵检测】基于matlab GUI OTSU织物疵点检测【含Matlab源码 860期】
- LintCode—合并两个排序链表(165)
- vasp能装在window系统里吗_vasp 5.4.4 在win10/Ubuntu 18.04上的安装
- 软件签名不一致是什么意思
- 【网络安全】SQL注入详细分析
- 新建Flutter项目无法导入FlutterActivity
- 普通PC通过USB转485串口 ModBus-RTU通信协议控制伺服电机
- layui外部引入_layui use 定义js外部引用函数的方法
- 微指数批量查询工具V1.0发布了
热门文章
- 消除数字鸿沟,这些开发者要让代码有“温度”
- 2016下半年网络规划设计师考试上午真题
- Vins中的FeatureTracker::readImage(const cv::Mat _img, double _cur_time)函数
- 统计学基础一:基础概念
- linux下安装python3.6
- REST framework(2)
- nginx配置:支持phpfastcgi,nginx和php-cgi通信,部分nginx常量解释
- 对JDBC操作数据库的简单封装
- javascript 打造城市选择控件,兼容IE6以及以上,谷歌,Firefox
- Hiernate概述