ES6 模块化、export、export default 用法

 export default 用法:模块化输出

//index.js
import animal from './content'

//content.js
export default 'A cat'

 export 命令除了输出变量,还可以输出函数,甚至是类(react的模块基本都是输出类)

content.js  用 export default 输出数据

//content.js
export default 'A cat'

export function say(){
    return 'Hello!'
}

export const type = 'dog'

 index.js 用 import 从content.js 引入数据

//index.js
import { say, type } from './content'
let says = say()
console.log(`The ${type} says ${says}`) //The dog says Hello

这里输入的时候要注意:大括号里面的变量名,必须与被导入模块(content.js)对外接口的名称相同。

如果还希望输入content.js中输出的默认值(default), 可以写在大括号外面。

//index.js
import animal, { say, type } from './content'
let says = say()
console.log(`The ${type} says ${says} to ${animal}`)
//The dog says Hello to A cat

export default 和 export 区别:

1.export 与 export default 均可用于导出常量、函数、文件、模块等

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

3.在一个文件或模块中,export、import可以有多个,export default仅有一个

4.通过export方式导出,在导入时要加{ },export default则不需要 

1.export 

//a.js 
export const str = “blablabla~”; 
export function log(sth) { 
return sth; 
} 
对应的导入方式:

//b.js 
import { str, log } from ‘a’; //也可以分开写两次,导入的时候带花括号

2.export default 

//a.js 
const str = “blablabla~”; 
export default str; 

对应的导入方式:

//b.js 
import str from ‘a’; //导入的时候没有花括号 

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

//a.js 
let sex = “boy”; 
export default sex(sex不能加大括号) 

原本直接export sex外部是无法识别的,加上default就可以了.但是一个文件内最多只能有一个export default。 
其实此处相当于为sex变量值”boy”起了一个系统默认的变量名default,自然default只能有一个值,所以一个文件内不能有多个export default。 

本质上,a.js文件的export default输出一个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含 

// b.js 
import any from “./a.js” 
import any12 from “./a.js” 
console.log(any,any12) // boy,boy

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值