码迷,mamicode.com
首页 > Web开发 > 详细

JS模块化

时间:2017-11-06 00:37:40      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:语句   实现   页面   意思   node   两种   ports   es6   val   

(一)ES6Module
在ES6之前社区指定了一些模块加载方案

最主要的有
CommonJSAMD两种
前者是用于服务器
后者用于浏览器
ES6在语言标准上实现了模块功能Module
而且实现的相当简单,完全可以取代
CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案
创建A.JS
var sex="boy";
var echo = function(value){
    console.log(value)
}
console.log("呵呵")
//导出sex echo
export {sex,echo}
创建B.JS
//引入
import {sex,echo} from "./A.js"
console.log(sex)   // boy
echo(sex) // boy
创建index.html页面
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script type="module" src="B.js">
</script>
</body>
</html>

会输出 A.JS里的内容

(二)CommonJS规范
创建A.js
let s = ‘hello‘;
function greet(name){
    console.log(s+‘,‘+name+‘!‘);
}
//导出 greet
module.exports = greet;
创建B.js
// 引入    A.js内容
let greet = require(‘./A‘);
let s =‘老干爹!‘;
greet(s);

node B.js 执行

(三)ADM规范

AMD规范是"Asynchronous Module Definition"的缩写

意思就是异步模块定义

AMD更适合浏览器加载

AMD也是用require()语句加载模块,但是不同于CommonJS,它要求两个参数

require([moudule,callback]);

第一个参数[moudule],是一个数组,里面的成员就是要加载的模块;

第二个参数callback,则是加载成功之后的回调函数

 

 

 

 

 

 



JS模块化

标签:语句   实现   页面   意思   node   两种   ports   es6   val   

原文地址:http://www.cnblogs.com/zzzzzzzsy/p/7790071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!