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 标准的实际。应用形式是这样的
<script src='../node_modules/requirejs/require.js' data-main='./index'></script>
// data-main 属性的作用是,指定网页程序的主模块。在上例中,就是 js 目录上面的 index.js,这个文件会第一个被 require.js 加载。因为 require.js 默认的文件后缀名是 js,所以能够把 index
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
唉,😮💨,午觉没睡醒就叫起来散会。累了,不想写了