import export 理解

ES6 关于export和import理解

1.  ES6之前JavaScript没有模块体系,相关社区提供了一些加载方案,最主要是两种CommonJs和AMD两种。ES6在语言标准层面实现了,实现了模块功能而且实现的相当简单,成为服务器和浏览器相通用的解决方案

2.  ES6模块设计思想是静态化,使编译时确立模块之间关系,以及输入和输出对象


commonJs

上面加载方式就是整体加载fs模块然后生成fs模块对象,通过对象.方法形式进行动态加载

3. ES6不同于上面所说的规范,ES6通过静态加载也就是通过编译时分析文件,静态加载效率更高而且能实现代码检查和宏的概念

export命令

1. export命令用于规定模块对外的接口,有以下两种方式


export导出

大家尽量使用第二种更清晰的导出方法,但是不要误以为第二种是动态导出的对象

2. export 利用as关键字重命名


导出重命名

3. 大家考虑一下 为什么出错然后再评论区发表,检验export导出的理解


error1


error2

4. 还有需要注意的是export暴露的是接口,可以通过接口随时获取接口内部实时的值


实时

import理解

1. 通过export暴露的接口就可以通过import命令加载这个模块


获取上个例子暴露出的变量

import后面需要跟着一个大括号,指定从其他模块导入变量名

怎样导入的变量重新分配一个名字

import  {myname as othername} from './xx.js'

// 需要额外注意 import导入的变量被动态改变的

// 但是如果导入对象可以对属性重新赋值,但是不建议这么做


import 是静态执行的所以

foo();

import { foo } from 'xxx'

上面这个是可以运行的 import 是在编译阶段执行

2. 看看下面这种写法

import   'loadash'

上面代码少了大括号之后会默认执行这个模块。

3. import语法是单例模式

4. 模块整体加载

export function area(radius){ return Math.PI * radius * radius;}

export function circumference(radius) { return 2 * Math.PI * radius;}


上面的文件可以被整体进行加载采用下面这种方式

import * as circle from './circle';


类似与运行时加载 但是不是的 是静态分析引入的

5. export default 命令

import 后面不跟大括号的导入的话类似于

import customName from './export-default';

customName();

这一种会是export default 默认导入出来的   例如

// 导出匿名函数

export default function () { console.log('foo'); }

// export default 用在非匿名函数前

// export-default.js

export default function foo() { console.log('foo'); }

// 或者写成

function foo() { console.log('foo'); }

export default foo;


我们看一下正常导出和默认导出的 import 不同的方式(起始就是大括号的区别)

区别

export default 本质上就是默认导出 default的变量或方法 但是系统值允许你默认导出一个


我们来看一下 下图导出方式,然后如何利用import导入


如何import

import _, { each, each as forEach } from 'xxxx';

也可以这样默认导出


默认导出

import和export复合写法

export {foo,bar} form 'module'

// 上面那个写法其实就类似于

import { foo,bar } from 'module'

export { foo,bar }

并没有实际输出知识对外转发了接口

阮一峰上面还有这几种实例,大家看看理不理解。发表在评论区


1


2
3

跨模块常量

// constants.js 模块

export const A = 1;

export const B = 3;

export const C = 4;

我们可能会有以下使用场景


配置文件


index.js导出

可以了解下import()

TypeScript 模块 对比


导出


重新导出

全局导入

import "./my-module.js";


jq-ts

Ts与ES6区别


区别
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容

  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 3,657评论 2 27
  • 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分...
    一个敲代码的前端妹子阅读 1,970评论 8 23
  • 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分...
    MapleLeafFall阅读 1,170评论 0 0
  • If women didnt exist,all of money in the world have no me...
    无罔阅读 364评论 0 1
  • 有点类似吐槽文,好久没写杂谈了 最近上司也就是我师傅总是找我毛病,不知道是不是最近我没加班的原因,感觉我没加班好像...
    流年娃娃阅读 413评论 0 0