export 与 import 的使用

export 与import是es6中新增模块功能最主要的两个命令。我们要知道在es6中,实现了模块功能,而且相当简单,意在取代commonjs和AMD规范。成为一种模块化的通用解决方案。

其设计思想为尽量的静态化,我们可以理解为在加载之前就知道自己所需要依赖的是哪个文件,而非在运行的时候才知道依赖谁。es6的那模块不是对象,通过export输出指令,通过import输入。就目前来说 不用一些编译器的话 最新版的浏览器是不识别import这个关键字的

在es6模块中是自动采用严格模式的。具体条例我们可以参考阮一峰老师写的es6入门中的moule模块

最简单的使用:

  我是在vue-cli脚手架中进行验证,因为其环境支持es6的语法

  首先在src下面新建一个export文件夹 里面新建两个js 分别为a.js,b.js

  

  a.js里面最简单的代码:

1
export var a = 'my name is xiaoming';

  然后一定要在hello模板中import该js,这里的路径是我自己配置的一些模板,新建的vue-cli中应该是hello模板

1
2
import {a} from '../../export/a.js';
console.log(a)

  from后面的路径要写对 然后不能写到app.vue或者main.js中因为是入口文件 里面import都是各种依赖包

其中{}是一定要有的

 export多个文件

1
2
var a='my name is xiaoming',b='my name is xiaohong';
export {a,b}

  然后import

1
2
import {a,b,} from '../../export/a.js';
console.log(a,b)

 如果不想暴露变量的名称:使用as可以重命名关键字

1
2
var a='my name is xiaoming',b='my name is xiaohong';
export {a as x, b as y}

export default 的用法

export 之后加上default意指默认接口的意思,在一个文件里面默认的只能有一个 其区别就是{} 在export中 引入需要用{}来盛放

1
2
var a='my name is xiaoming'
export default a;
1
import a from '../../export/a.js';

要是多个变量

1
2
var a='my name is xiaoming',b='this is a bird';
export default {<br>  a,b<br>};

在需要使用的js中

1
import anyoneword from '../../export/a.js'<br>console.log(anyoneword)//一个对象里面包含a,b两个变量。

是不是发现和vue组件很像。 

总结 其中export和export default最大的区别就是export不限变量数 可以一直写,而export default  只输出一次 而且 export出的变量想要使用必须使用{}来盛放,而export default 不需要 只要import任意一个名字来接收对象即可。 

export default可以跟在非匿名函数之前,也可以跟在匿名函数之前,同时也可以是一个对象之前。

import

import  '**' from 'vue'直接寻找的是依赖包里的文件

如果import '**' from './vue' 表示是同级文件下的js。

es6中export、export default、import的理解的更多相关文章

  1. JavaScript ES6中,export与export default

    自述: 本来是对new Vue()和export default比较懵的,查了一下,发现我理解错了两者的关系,也没意识到export与export default的区别,先简单的记录一下基本概念,后续 ...

  2. ES6中的export,import ,export default

    ES6模块主要有两个功能:export和importexport用于对外输出本模块(一个文件可以理解为一个模块)变量的接口import用于在一个模块中加载另一个含有export接口的模块.也就是说使用 ...

  3. ES6中的export和import

    1.ES6中的模块加载 ES6 模块是编译时加载,编译时就能确定模块的依赖关系,以及输入和输出的变量,相比于CommonJS 和 AMD 模块都只能在运行时确定输入输出变量的加载效率要高. 1.1.严 ...

  4. ES6中的export以及import的使用多样性

    模块功能主要由两个命令构成:export和import.export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能. 一.export导出模块使用部分的几种方式 一个模块就是一 ...

  5. 关于var和ES6中的let,const的理解

    var的作用就不多说了,下面说说var的缺点: 1.var可以重复声明 var a = 1; var a = 5; console.log(a); //5 不会报错 在像这些这些严谨的语言来说,一般是 ...

  6. es6中class类的全方面理解(一)

    传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...

  7. es6中class类的全方面理解

    传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...

  8. 解决es6中webstrom不支持import的一个简单方法

    代码如下: export_one.js的代码如下: export function one() { console.log('one'); } export function two() { cons ...

  9. JavaScript ES6中export、import与export default的用法和区别

    前言 相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在看他们之间的区别之前,我们先来看看它们的用法. ES6 import和export的用法 ...

  10. JavaScript ES6中export及export default的区别以及import的用法

    本文原创地址链接:http://blog.csdn.net/zhou_xiao_cheng/article/details/52759632,未经博主允许不得转载. 相信很多人都使用过export.e ...

随机推荐

  1. XACT Q&A (转)

    XACT Q&A 传送门:http://blog.csdn.net/xoyojank/article/details/4098633

  2. LUA ipairs遍历的问题

    t = { 1, 2, 3, nil, 4,} for k, v in ipairs(t) doprint(k, v)end print("------------------------- ...

  3. Spring Cloud Bus实现自动更新配置

    一.概述 1. 配置环境 版本:Spring Boot版本2.0.3.RELEASE,Spring Cloud版本Finchley.SR1,RabbitMQ 3.7.7 说明:本文章是在https:/ ...

  4. write()和print()还有<%= %>的细微区别

    1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通过默 ...

  5. react-navigation 3.x版本的安装以及react-native-gesture-handler配置

    一.安装依赖,使用npm或yarn命令,3.x版本必须安装react-native-gesture-handler react-navigation react-native-gesture-hand ...

  6. js 倒计时功能,获取当前时间的年月日,时分秒

    一.实现当前时间到指定截止时间的倒计时功能 <html> <head> <title>TEST</title> </head> <bo ...

  7. 28-python 中格式对齐之中文格式对齐问题

    一般的可以按这个搞,但是中文就会有问题: python基础_格式化输出(%用法和format用法) 对于 print('1234567890' * 10)print('%10s' % '今天好')pr ...

  8. android textview 显示一行,且超出自动截断,显示"..."

    android textview 显示一行,且超出自动截断,显示"..." <TextView android:layout_width="wrap_content ...

  9. Oracle GoldenGate 一、介绍和安装

    1 说明 1.1 下载和文档说明 下载地址:http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 我 ...

  10. js的prototype(2)

    1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2 javasc ...