ES6 & ES7 - Module

ES6 - Module

不用default导出

// A.js
export function a(){
  console.log('aaaa')
}

export function b(){
  console.log('bbb')
}
export const c = 10;

或:

function a(){
  console.log('aaaa')
}
function b(){
  console.log('bbb')
}
const c = 10;

export { a,b,c }

引入方式:

import {a as fun_a,b as funb,c as num_c} from '../js/A.js'
mounted(){
	fun_a()
	fun_b()
}

或:

import * as lib from '../js/A.js'
mounted(){
	lib.a()
	lib.b()
}

用default导出

不需要知道导出的具体变量名, 导入(import)时不需要{}.

function a(){
  console.log('aaaa')
}

function b(){
  console.log('bbb')
}
const c = 10;

export default {
  fun_a:a,
  fun_b:b,
  num_c:c
}

不需要花括号引入

import $ from '../js/A.js'

mounted(){
	$.fun_a()
	$.fun_b()
}

混合导出

function a(){
  console.log('aaaa')
}

function b(){
  console.log('bbb')
}

export const c = 10;

export default {
  fun_a:a,
  fun_b:b
}

混合引入:

import lib,{c as num_c} from '../js/A.js'
mounted(){
 lib.fun_a();
 lib.fun_b();
 console.log(num_c)
}

ES7 - Module

静态import在首次加载时候会把全部模块资源都下载下来.

但我们实际开发时候,有时候需要动态import(dynamic import) .

普通写法:

import('../js/A').then((lib)=>{
   console.log(lib.)
 });
console.log('hello')
// hello aaaa

ES7写法:

async function load(){
  let lib = await import('../js/A');
  lib.a()
  
  // or
  
  let {a,b,c} = await import('../js/A')
  a()

  // or (引入多个模块)
  let [lib1,lib2] = 
  	await Promise.all([
		import('../js/A.js'),
        import('../js/B.js'),
 	])
 	
  lib1.a();
  console.log(lib2.b)
}

load()

总结

1.用default打包导出来的,不用花括号,且一个模块只能由一个 export default

// A.js
export default{
	func_a:a,
	func_b:b  
}
import lib from './A.js'

2.不用default导出

function a(){
  console.log('aaaa')
}

function b(){
  console.log('bbbbb')
}

const c = 10;

export {
  a as func_a,
  b as func_b,
  c as num_c
}

or

export function a(){
  console.log('aaaa')
}

export function b(){
  console.log('bbbbb')
}

export const c = 10;

有两种引入方式

// 第一种:使用花括号{}逐个引入
import {func_a,func_b,num_c} from '../js/A.js'

// 第二种,全部引入,严格遵循写法
import * as lib from '../js/A.js'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值