ES6 模块化

ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。

ES6 的模块化分为导出(export) 与导入(import)两个模块。

模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。

每个模块都有自己的上下文,每一个模块内声明的变量都是局部变量,不会污染全局作用域。

每一个模块只加载一次(是单例的), 若再去加载同目录下同文件,直接从内存中读取。

模块化的导入与导出,模块之间就可以通信了

一、模块化

导出模块化

1.列表导出

export {a,b}

2.重命名导出

export {firstName as first,lastName as last};

3.单个属性导出
export let a=1;
export function get(){
	console.log('modules3导出')
};

 4.默认导出   一个模块只能有一个默认导出
export default {
	firstName,
	lastName,
	b:'默认导出'
}

或者
 export default function(){
	console.log('默认导出');
 }

导入模块化

1.列表导入
import {firstName,lastName} from './3-modules';
2 重命名导入
import {first as f,last as l,a,get} from './3-modules';
3 导入有export导出和默认导出的对象变量属性
import * as obj from './3-modules';
console.log(obj,'模块化导入');
console.log(firstName,lastName,f,l,a,get,'modules3打印');
get();
4 默认导入 
import 变量名 from '导入文件';
console.log(变量名,'默认导入');
person();

commonJS 和  ES6 区别

commonJS 使用
导出模块
module.exports ={

};
导入模块
let {导入数据} =require('所在的文件夹')

ES6

ES6
导出
let get='1';
let set='2';
export {get,set};

导入
import {传入数据} from '所在文件';
console.log(get,set);

CommonJS  是node自带的模块化工具,使用可以直接node  地址

但是ES6 的不能直接使用,要先进行转码,再运行

babel src --out-dir dist (转码 ,将src 下的es6内容转到dist文件下)

node dist/运行文件(运行代码)

并且:

1、CommonJS 模块输出的是一个值的拷贝/复制,ES6 模块输出的是值的引用。
2、CommonJS 模块是运行时加载,ES6 模块是编译时输出接口.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值