ES6学习——模块化:import和export
2016-02-07 15:35
561 查看
关于JS模块化的使用,大家肯定不陌生,现有的主要两种:CMD和AMD,还有一种兼容CMD和AMD写法的UMD。一般前端框架都支持AMD,而node.js采用的是CMD的模块语法。
ES6中规范化了模块的导入和导出语法,在规范的15.2章节中。现在浏览器还都不支持,想要尝试的可以使用Traceur或者Babel。貌似Angular 2.0也要采用ES6的模块化语法,相信以后浏览器肯定会逐步支持的。
本篇文章只是大概介绍一下基本的语法,详细使用留在以后浏览器支持了 再说。
export——
基本的两种用法:
导出的时候重命名:
默认导出,每个模块只能有一个默认导出:
混合默认导出和普通的导出:
从其他模块导出:
import——
import有一个hoisted的过程,和var声明变量一样:
ES6中规范化了模块的导入和导出语法,在规范的15.2章节中。现在浏览器还都不支持,想要尝试的可以使用Traceur或者Babel。貌似Angular 2.0也要采用ES6的模块化语法,相信以后浏览器肯定会逐步支持的。
本篇文章只是大概介绍一下基本的语法,详细使用留在以后浏览器支持了 再说。
export——
基本的两种用法:
export function foo() { // .. } export var awesome = 42; var bar = [1,2,3]; export { bar };
function foo() { // .. } var awesome = 42; var bar = [1,2,3]; export { foo, awesome, bar };
导出的时候重命名:
function foo() { .. } export { foo as bar };
默认导出,每个模块只能有一个默认导出:
function foo(..) { // .. } export default foo; export{ foo as default };
混合默认导出和普通的导出:
function foo() { .. } function bar() { .. } function baz() { .. } export { foo as default, bar, baz, .. };
从其他模块导出:
export { foo, bar } from "baz"; export { foo as FOO, bar as BAR } from "baz"; export * from "baz";
import——
import { foo } from "foo"; foo();
import { foo as theFooFunc } from "foo"; theFooFunc();
import foo from "foo"; // or: import { default as foo } from "foo";
export default function foo() { .. } export function bar() { .. } export function baz() { .. } import FOOFN, { bar, baz as BAZ } from "foo"; FOOFN(); bar(); BAZ();
export function bar() { .. } export var x = 42; export function baz() { .. } import * as foo from "foo"; foo.bar(); foo.x; // 42 foo.baz();
import有一个hoisted的过程,和var声明变量一样:
foo(); import { foo } from "foo";
相关文章推荐
- 在C语言编程中使用变量的基础教程
- C++类 给结构体成员 函数指针 赋值
- Vim编辑器精通
- C# 基础加强(七) 接口
- 【Android开发小记--17】一键清理
- apache commons io 2.2(三)Monitor部分
- java 常量池
- LeetCode 74. Search a 2D Matrix 二分法
- IoGetCurrentIrpStackLocation routine
- YTU 2615: AB编程题--世界杯小组赛
- 【番外篇】JVM 内存区域
- UVA10006 快速幂
- hdu 3308 LCIS(线段树)
- Cobbler无人值守安装系统史上最细实践文档
- Cobbler无人值守安装系统史上最细实践文档
- T型架构观点学习
- hdu 1728 逃离迷宫(DFS)+1175连连看(DFS)
- 合唱队形
- DP之最长递增子序列LIS
- YTU 2614: A代码完善--系统日期