博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6的模块化--AMD/CMD/commonJS/ES6
阅读量:6276 次
发布时间:2019-06-22

本文共 1530 字,大约阅读时间需要 5 分钟。

/**
* AMC
* CMD
* CommonJS
* ES6模块:总结的
*/
/**
* AMD的应用的
* script---data-main="vender/main" src="vender/require.js"
*/
// main.js,require.js为全局添加了define函数,
require([
'./add',
'./square'],
function (
addModule,
squareModule) {
addModule.
add(
1,
1);
squareModule.
square(
3);
})
define(
function () {
var
add =
function (
x,
y) {
return
x +
y;
}
return {
add:
add
};
})
/**
* sea.js--CMD
* seajs.use("./vender/main");
*/
// main.js的引用
define(
function (
require,
exports,
module) {
var
addModule =
require(
'./add');
console.
log(
addModule.
add(
1,
1));
});
// add的
define(
function (
require,
exports,
module) {
var
add =
function (
x,
y) {
return
x +
y;
};
module.
exports = {
add:
add
}
});
/**
* AMD 与 CMD 的区别
* 1,CMD推崇依赖就近,AMD推崇依赖前置
* 2,AMD是提前执行,CMD是延迟执行
* 3,AMD是将需要将模块加载完成再执行代码,而CMD是在require的时候加载模块,加载完成再去执行
*/
/**
* commonJS,AMD和CMD是采用浏览器端的,而服务器端node,采用的是CommonJS规范
* commonJS模块加载模块是同步,AMD加载模块不是同步的
* */
// commonjs
var
add =
function (
x,
y) {
return
x +
y;
};
module.
exports.
add =
add;
// 引入模块的方式
var
add =
require(
'./add.js');
console.
log(
add.
add(
1,
1));
/**
* es6的模块,commonJS对比
* 1,CommonJS是值拷贝,es6是输出的值引用
* 2,CommonJS是模块运行时加载,ES6是编译时输出接口
*/
// CommonJS是值拷贝,当内部的值发生变化,模块内部变化就不会影响到这个值
// es6是是值引用,当内部的值发生变化的时候,模块内部变化就会影响这个值
// ES6
var
firstName =
'Michael';
var
lastName =
'Jackson';
var
year =
1958;
export {
firstName,
lastName,
year };
// es6引用
import {
firstName,
lastName,
year }
from
'./profile';
// ES6的引用----Babel进行编译--commonJS----webpack打包形成浏览器可以解析的语言

转载于:https://www.cnblogs.com/yayaxuping/p/9964998.html

你可能感兴趣的文章
一个不可思议的MySQL慢查分析与解决
查看>>
[Cake] 0.C#Make自动化构建-简介
查看>>
《TCP/IP协议》- TCP协议知识目录
查看>>
详尽! Win10安装Java8+Tomcat9!
查看>>
1127
查看>>
一次痛的经历
查看>>
智能运维(AIOps)时代开启,一文帮你快速了解其定义与发展现状
查看>>
第1讲 快速入门 《Kotlin 极简教程 》
查看>>
[Hadoop]MapReducer工作过程
查看>>
VMware PowerCli批量实现虚拟机快照备份
查看>>
小程聊微服务-基于dubbo的mock测试系统
查看>>
在阿里云服务器使用scrapyd部署scrapy项目
查看>>
业界 | 从观望者到变革者:给新媒体的AI解决方案
查看>>
利用 CSS 变量实现令人震惊的悬浮效果
查看>>
爬虫入门之handler与opener(三)
查看>>
Linux Kernel 5.2 将进一步支持 AMD FreeSync
查看>>
Java CompletableFuture:thenCompose (3)
查看>>
Node.js编程之异步
查看>>
亦策软件与Qlik联合参加第六届大数据世界论坛
查看>>
RecyclerView进阶
查看>>