import and export - pod4g/tool GitHub Wiki

1. export

赋值语句的左边和右边都可以被export出去,export出去的变量相当于const。 还可以export整个赋值语句。

导出分为2种:

  1. 命名导出

  2. export {myFunction}

  3. export const PI = Math.PI

  4. 默认导出

  5. export default myFunction

  6. export default const PI = Math.PI

// myModule.js
function a(){
  console.log('I am function a')
}

function b(){
  console.log('I am function b')
}


function c(){
  console.log('I am function c and i am a default export 2')
}

// 导出number型
export var num = 1
export let numberObject = new Number(num)

// 导出string型
export var str = 'liyanfeng'
export let stringObject = new String(str)

// 导出boolean型
export let bool = true;
export const booleanObject = new Boolean(bool);

// 导出null型
export var Null = null

// 导出undefined型
export let Undefined = void 0

// 导出Symbol
export let symbol = Symbol('liyanfeng')

export const object = {
  name: '李彦峰',
  age: 26
}

var obj = {
  0:0,
  1:1,
  length:2
}

export var sayName = function(){
  console.log('我是李彦峰')
}

export const arr = [1,2,3,obj]

console.log('I am file utils.js')

export const PI = Math.PI;

export { a, b }
export default c

2. import

第一种

 import * as myModule from 'myModule' // 类似于java中的: import java.io.*
 // 导入 myModule.js 中所有的命名导出(没有默认导出哦~),然后挂到 myModule 的命名空间下
 myModule.a() // I am function a
 myModule.b() // I am function b

第二种

有副作用,相当于执行一遍 myModule.js 文件内的代码。因为没有任何引用或命名空间引用这个模块,此模块内的导出将永远不能被使用

import 'myModule'