ES6的模块化操作主要包括两个方面。

(1)export :负责进行模块化,也是模块的输出。

(2)import : 负责把模块引,也是模块的引入操作。

export的用法:

export可以让我们把变量,函数,对象进行模块化,提供外部调用接口,让外部进行引用。先来看个最简单的例子,把一个变量模块化。我们新建一个demo.js文件,然后在文件中输出一个模块变量。

export var a = '单个变量导出';

然后可以在index.js中以import的形式引入。

import {a} from './temp.js';
console.log(a);

最后在控制台输入 babel-node index.js 指令。注意index.js目录

目前我的index.js在src目录下,所以是在该目录执行上述指令的。如图:

2.多变量的输出

先要声明变量,需要把变量都进行模块化输出,这时候我们给他们包装成对象就可以了。

demo.js中:

var a ='i';
var b ='love';
var c = 'you';
export {a,b,c}

index.js中:

import {a,b,c} from './demo.js';
console.log(a,b,c);

执行指令后结果为:

3.函数的模块化输出

在demo.js中定义一个函数,并使用export进行输出。

export function add(a,b){
return a+b;
}

index.js中:

import {add} from './demo.js';
console.log(add(1,2));

结果为:

5.as的用法

有些时候我们并不想暴露模块里边的变量名称,而给模块起一个更语义话的名称,这时候我们就可以使用as来操作。

demo.js中:

var a ='i';
var b ='love';
var c = 'you';
export {
a as x,
b as y,
c as z
}

index.js中:

import {x,y,z} from './demo.js';
console.log(x,y,z);

输出结果为:

6.export default的使用

加上default相当是一个默认的入口。在一个文件里export default只能有一个。

export default 和 export 区别:

(1)export

输出格式:

export var a = '单个变量导出';

对应导入格式:使用花括号

import {a} from './temp.js';
console.log(a);

(2)export defalut

export default var a='默认单个变量输出;

对应导入格式:

import a from './temp';
console.log(a)//默认单个变量输出

总结:export default 和 export 区别为

(1)通过export方式导出,在导入时要加{ },export default则不需要。

(2)使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名,而export命令需要知道相应的模块的变量名。

(3)export与export default均可用于导出常量、函数、文件、模块等

(4)在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用。

over....

ES6系列_16之模块化操作的更多相关文章

  1. ES6系列_5之数字操作

    下面是针对ES6新增的一些数字操作方法进行简单梳理. 1.数字判断和转换 (1)数字验证Number.isFinite( xx ) 使用Number.isFinite( )来进行数字验证,只要是数字, ...

  2. [ES6系列-05]字符串相关操作更方便

    [原创] 码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 ES6 JavaScript ...

  3. ES6模块化操作

    在ES5中我们要进行模块化操作需要引入第三方类库,随着前后端分离,前端的业务日渐复杂,ES6为我们增加了模块化操作.模块化操作主要包括两个方面. export :负责进行模块化,也是模块的输出. im ...

  4. [js高手之路] es6系列教程 - 对象功能扩展详解

    第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...

  5. 大白话,讲编程之《ES6系列连载》汇总

    如果你经历过2,3年前的前端开发,你一定感受过兼容IE6,7的痛苦,一定用过网页三剑客的dreamweaver编写html,面试的时候面试官一定会问你:会用PS切图吗? 刚开始的时候你发现,web前端 ...

  6. ES6 系列之异步处理实战

    前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise -> Generator -> Async 异步处理方式的改变. API 介绍 为了实现这个功能,我 ...

  7. [ES6系列-01]Class:面向对象的“新仇旧恨”

    [原创]CoderPower 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 这是公众号(码路工人有力量)开通后的第二篇,写得还是有待改进吧.这次准备写一个关于ES6基础的短文系列,努力尽快 ...

  8. js系列教程1-数组操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  9. jquery系列教程2-style样式操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

随机推荐

  1. wpf中的触发器详解 (转自 乂乂的日志 - 网易博客)

    2010-03-24 16:19:07|  分类: WPF相关 |  标签: |字号大中小 订阅     wpf中的触发器详解 WPF/C# 2009-08-24 11:32:50 7.1.2  简单 ...

  2. 根据rowid查找所属的对象号、文件号、块号、行号-还是简单一点吧

    select rowid,       dbms_rowid.rowid_object(rowid) obj#,       dbms_rowid.rowid_block_number(rowid) ...

  3. 从数组里随机获取N项

    基础知识: 复制数组: (1)循环遍历复制(不推荐) var arry = [1,5,9,7], new_arry = [], n = 0, len = arry.length; for(;n< ...

  4. mysqlbinlog初识

    mysql-binlog->解析mysql的binlog日志 mysql的binlog日志是什么? 数据目录下的日下文件就是mysql的binlog日志 mysql-bin.00001 mysq ...

  5. jQuery中 attr和Prop的区别

    出自这里: http://www.365mini.com/page/jquery_noconflict.htm 在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参 ...

  6. web——自己实现一个淘宝购物车页面

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  7. java的代理(编程思想)

    代理 第三种关系被称为代理,java并没有提供对它的直接支持.这是继承和组合之间的中庸之道,因为我们将一个对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴露了该成员对象的所有方法(就像继承 ...

  8. tensorflow中summary操作

    tf中 tensorboard 工具通过读取在网络训练过程中保存到本地的日志文件实现数据可视化,日志数据保存主要用到 tf.summary 中的方法. tf.summary中summary是tf中的一 ...

  9. Qt UI界面改了,但UI界面不更新

    /**************************************************************************** * Qt UI界面改了,但UI界面不更新 * ...

  10. 在C#中调用Java生成的jar包文件的方法

    C#工程调用Java已生成的jar包步骤如下: 一.使用IKVM.NET组件 首先到IKVM官网(http://www.ikvm.net)下载组件,下载地址:https://sourceforge.n ...