ES6 export

一、默认导出(default export)
// 1.一个模块只能有一个默认导出, 对于默认导出, 导入的名称可以和导出的名称不一致, 这对于导出匿名函数或类非常有用。

<!---- page.js ---->
export default function () {
	return '默认导出'
}
export function setName() {
	return name + 'Tao'
}

<!---- main.js ---->
// 只导出默认的导出
import myFunc from '@/assets/page.js'

// 混合的导出, 默认的导出和其他的导出
import defaultModel, { setName } from '@/assets/js/page'

// 或者导出所有
import * as page from '@/assets/js/page'

二、名字导出(name export)
// 1.名字导出可以在模块中导出多个声明

<!---- page.js ---->
export const name = 'Alan'
export function setName() {
	return name + 'Tao'
}
export function getName() {
	return name
}
// 2.也可以直接导出一个列表
function setName2() {
	return name + 'Tao2'
}
function getName2() {
	return name
}
export { setName2, getName2 }

<!---- main.js ---->
// import 根据变量名称导入
import { setName , getName} from '@/assets/js/page'

// import 导入整个模块
import * as page from '@/assets/js/page'
console.log(page.getName())  // Alan
console.log(page.setName())  // Alan Tao

三.解决导出命名冲突的问题,重命名的方法解决方法

// 这两个模块都会导出以`flip`命名的东西。
// 要同时导入两者,我们至少要将其中一个的名称改掉。
import {flip as flipOmelet} from "one.js"
import {flip as flipHouse} from "two.js"

  

原文地址:https://www.cnblogs.com/alantao/p/10286640.html