import 和 export

import和export的产生主要是为了JS的模块化按需引用

使用方法

export

  • export标识符表示需要发布的模块
    export const PI = 3.14
    export function getInitState(){return state}
    export _THIS_IS_A_VERY_LONG_NAME_ = true

import

  • 按需要引入从其他地方发布的模块
  • 别名功能很有用, 可以改掉太长的名字, 也可以引入两个相同名字的模块.
    import { PI , getInitState } from './path'
    import { _THIS_IS_A_VERY_LONG_NAME__ as longName} from './path'
    console.log(PI)
    getInitState()
    console.log(longName)

import *

  • 如果某个文件发布了一堆东西, 这些东西都要用, 可以考虑用import *
    import * as myImport from './path'
    console.log(myImport.PI)
    myImport.getInitState()

export default

  • 如果某个文件只发布一个东西, 那么可以考虑用export default
  • 默认发布的模块引用的方法是 import xxx from './path', 不加花括号
  • import * 是选不到默认发布的东西的
    export function func1(){}
    export function func2(){}
    export function func3(){}
    const funcGroup = {func1,func2,func3}
    export default funcGroup

import funcGroup , {func1,func2,func3} from './path'

  • 这样func1和funcGroup.func1是指向同一个函数, 很多框架都是这样处理的.

推荐阅读更多精彩内容

  • 1. export与模块导出 export语法声明用于导出函数、对象、指定文件(或模块)的原始值。export有两...
    杨慧莉阅读 2,991评论 1 5
  • export: 用于对外输出本模块(一个文件可以理解为一个模块)变量的接口。 import: 用于在一个模块中加载...
    L楠阅读 2,622评论 1 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 123,172评论 18 134
  • 【转】 遵循的模块化规范不一样 模块化规范:即为 JavaScript 提供一种模块编写、模块依赖和模块运行的方案...
    houruyaogeili阅读 2,890评论 0 2
  • “原来是一位半废状态的下位地至尊吗.” 牧尘的轻笑低喃声虽然微弱,但在这寂静的残破大殿内,依旧是传荡了开来。 迦楼...
    混沌天书阅读 93评论 0 0
  • 依稀昨日,惚恍年双,斑驳只忆悄然。 春浅雾薄,霄岸杨柳初弯, 朝来桐错细雨,菲菲欲滴引过帆, 随途伴,似嫣红时好,...
    云生非凡阅读 70评论 0 1
  • 总是会流泪。
    鸳鸯袖里握兵符阅读 79评论 0 0
  • 想用你的名字,成就这故事。 一天,我们终于抵达目的地, 自豪地说, 我们经历的旅程是多么漫长啊! 但是, 假如他们...
    青衫湿旧阅读 173评论 10 15