export 命令

1、概念

export用于定义要输出的变量(let、var、const、function、class),定义的变量与值是动态绑定关系。

2、命令格式

1、 export 变量定义

2、 export { 变量名 [ as 另名} ,…}

3、 export default 匿名定义

export default 匿名定义

匿名定义本质上是采用 default 为名称,与上面2个的区别是在加载时可以不用写大括号还能自定义名称。

import命令

1、 概念

import用于加载export模块

2、 命令格式

1、 import { 变量名 [as 别名}} from “文件路径”

2、 import * as 别名 from “文件路径”(用于整体加载)

3、 import 变量名 from “文件路径”(用于加载匿名变量)

export与import的复合写法

1、 概念

先import加载,然后在export定义。

export {…} from  “文件路径”;

等同于

import {…} from “文件路径”;

export {…}

1、 整体输出

export * from “文件路径”;

2、 别名输出

export { xxx as ddd} from “文件路径”

3、 匿名输出

export { xxx as default} from “文件路径”

浏览器加载

<script type = “module” src=”…”>

<script type=”module”>

import {…} from “文件路径”;

</script>

注意:module 为异步defer 加载,也就是异步加载,然后页面渲染完成后执行脚本。

 

import() 函数

import函数是动态加载模块或非模块脚本并无静态连接,返回一个promise对象,可获取加载状态。

1、 格式

import(“文件路径”)

2、例子

import(…).then(module=>module.变量)

输出变量被当前参数转给then函数了。

例子:匿名与非匿名加载

// a.js
export default function (val) {
console.log(val);
} export function test(val) {
console.log(val);
}
<script type="module">
'use strict';
import print,{test} from "./a.js";
print("ss"); // 匿名
test("test"); // test
</script>

例子:整体加载

    <script type="module">
'use strict';
import * as target from "./a.js";
target.test("test函数");
target.default("匿名变量")
</script>

例子:动态加载

// 浏览器并没有实现动态导入模块
<script type="module">
import("./a.js").then(module => {
module.test("你好");
module.default("哈哈");
});
</script>

es6 Module语法的更多相关文章

  1. ES6 module语法加载 import export

    export:暴露,就是把接口暴露出去 import:引入,跟字面意思一样,引入接口 export {} export function demo(){} export var demo1; 这上面的 ...

  2. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  3. JavaScript ES6 module 模块

    在使用JavaScript开发大型项目时,模块开发概念是一个必须考虑的问题.其目的就是通过命名空间对各类业务对象进行一定的封装,防止命名冲突. 本篇着重介绍ES6 module中的export和imp ...

  4. ES6最新语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  5. 深入 CommonJs 与 ES6 Module

    目前主流的模块规范 UMD CommonJs es6 module umd 模块(通用模块) (function (global, factory) { typeof exports === 'obj ...

  6. ES6常用语法简介import export

    ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...

  7. ES6 | ES6新语法 在编码实践中的应用

    本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 多家公司和组织已经公开了它们的风格规范,本文的内容主要参考了  ...

  8. 通过ES6 Module看import和require区别

    前言 说到import和require,大家平时开发中一定不少见,尤其是需要前端工程化的项目现在都已经离不开node了,在node环境下这两者都是大量存在的,大体上来说他们都是为了实现JS代码的模块化 ...

  9. 前端模块化IIFE,commonjs,AMD,UMD,ES6 Module规范超详细讲解

    目录 为什么前端需要模块化 什么是模块 是什么IIFE 举个栗子 模块化标准 Commonjs 特征 IIFE中的例子用commonjs实现 AMD和RequireJS 如何定义一个模块 如何在入口文 ...

随机推荐

  1. Content-Type: application/www-form-urlencoded

    默认的方式 1.Content-Type: application/www-form-urlencoded id=3&fgf=56&908rr=767 2.Content-Type:a ...

  2. HBuilder git使用-环境配置

    HBuilder中使用的是Egit插件,但提供的相关资料太少,这是目前遇到的一些问题的总结 1. 安装好egit插件后,本机需要安装Git windows的安装程序,并配置好相关的环境变量(理论上是自 ...

  3. 【安富莱二代示波器教程】第18章 附件C---波形拟合

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=45785 第18章      附件C---波形拟合 emWin5. ...

  4. 【从零开始搭建自己的.NET Core Api框架】(五)由浅入深详解CORS跨域机制并快速实现

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  5. [Swift]LeetCode16. 最接近的三数之和 | 3Sum Closest

    Given an array nums of n integers and an integer target, find three integers in nums such that the s ...

  6. 封装nodeJS中 $on $emit $off 事件

    事件绑定一个事件名称对应多个事件函数 应此它们的关系是一对多的关系 数据类型采用对象的形式 key:val 因为函数有多个 所以val选用数组   事件仓库 eventList = { key:val ...

  7. python高级-生成器(17)

    1. 什么是⽣成器 通过列表⽣成式,我们可以直接创建⼀个列表.但是,受到内存限制,列表容量肯定是有限的.⽽且,创建⼀个包含100万个元素的列表,不仅占⽤很⼤的存储空间,如果我们仅仅需要访问前⾯⼏个元素 ...

  8. HTML常用特殊字符编码对照表以及其对应英文

    符号 说明 对应编码(使用时去掉空格) 英文 & AND 符号 & amp; ampersand < 小于 & lt; little > 大于 & gt; ...

  9. 概率分布之间的距离度量以及python实现(三)

    概率分布之间的距离,顾名思义,度量两组样本分布之间的距离 . 1.卡方检验 统计学上的χ2统计量,由于它最初是由英国统计学家Karl Pearson在1900年首次提出的,因此也称之为Pearson ...

  10. bootstrap4的出现(或这篇文章可以叫做bs4与bs3的区别)

    前言:在bootstrap4出现之后修改了bootstrap3的不方便之处,让使用框架的前端开发者更加便捷..(bootstrap下文中简称为bs) 一.栅格系统 相对于原来的bs3,bs4具有了范围 ...