commonJs、AMD、UMD、es6 到底是怎么用的
https://segmentfault.com/a/11... 这篇文章写的比较详细,但是有一些以前困惑我的点还是需要单独记一下的。
commonjs
Node 应用由模块组成,采用 CommonJS 模块规范。也就是说CommonJs是应用在node服务器端的,如果浏览器想使用CommonJs规范的话需要用 browserify库 来进行转化。CommonJs分为两部分:moudle对象和requeire命令。也就是说要用 node 执行的代码,就只能遵循 commonjs 规范,使用 module.export 对象导出,使用 require 方法导入。想要写 export default / import 之类的 node 端执行的代码就需要单独配置(网上另找)。node 内部提供一个 module 的构建函数直接使用 console.log(module) 就可以看到所有的属性
文章图片
amd
因为 commonjs 规范加载依赖资源是同步加载的,加载过程中是一直卡住的,所以 amd 是这样的写一堆需要加载的内容,然后将要执行的代码放在加载完成之后,require.js 就是 amd 规范的实践。使用方式是这样的
// data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的index.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把index
【commonJs、AMD、UMD、es6 到底是怎么用的】amd 规范的 lib 库该如何写呢
// moduleA.js
define(function (){
var add = function (x,y){
return x+y;
};
return {
add: add
};
});
是的,引入 require.js 之后会提供全局的 define 方法,所以 lib 库只需要直接使用 define 方法就好了。使用的时候是这样的
// index.js
require(['moduleA'], function (moduleA){
console.log(moduleA)
//moduleA就是moduleA.js模块传入的函数执行后返回的对象{add:function}
});
umd
umd
唉,?,午觉没睡醒就叫起来开会。累了,不想写了
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」