网站首页 > 技术文章 正文
ES6 模块化规范是浏览器端与服务器端通用的模块化开发规范。它的出现极大的降低了前端开发者的模块化学习成本,开发者不需再额外学习 AMD、CMD 或 CommonJS 等模块化规范。
1、ES6 模块化规范中定义
1)每个 js 文件都是一个独立的模块
2)导入其它模块成员使用 import 关键字
3)向外共享模块成员使用 export 关键字
2、ES6 的模块化主要包含以下 3 种用法
1) 默认导出与默认导入
默认导出的语法:export default 默认导出的成员
//a.js
let sex = "boy";
// 编译成 CommonJS: exports.default = sex (ES 编译成的 CommonJS 形式)
export default sex // sex不能加大括号
默认导入的语法: import 接收名称 from '模块标识符'
// b.js
import any from "./a.js"; // 编译成 CommonJS: require('./a.js').default
import any12 from "./a.js"; // 编译成 CommonJS: require('./a.js').default
console.log(any,any12) // boy boy
2)按需导出与按需导入
按需导出的语法: export 按需导出的成员
//直接导出
export let i = “hello”;
export function myFun(){ };
//先定义后导出
let i = “hello";
function myFun(){ };
export { i , myFun } // 必须加花括号{ }
按需导入的语法: import { s1 } from '模块标识符'
import {i as hello,say} from './a.js'
console.log(hello) //hello
注意:
- 每个模块中可以使用多次按需导出
- 按需导入的成员名称必须和按需导出的名称保持一致
- 按需导入时,可以使用 as 关键字进行重命名
- 按需导入可以和默认导入一起使用
3) 直接导入并执行模块中的代码
如果只想单纯地执行某个模块中的代码,并不需要得到模块中向外共享的成员。此时,可以直接导入并执行模块代码,示例代码如下:
import '/modules/my-module.js'; // 不引入变量,但执行其中全局代码
3、总结
1)export与export default均可用于导出常量、函数、文件、模块等
2)你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
3)在一个文件或模块中,export、import可以有多个,export default仅有一个
4)export 暴露的是一个接口,必须加上 大括号 {},export default 暴露的是一个变量,在 import 时可以使用任意变量名导入,不用加大括号 {}
猜你喜欢
- 2025-01-08 SpringBoot+POI导出Excel表格
- 2025-01-08 理解 Next.js 中的 CSR、SSR、SSG、ISR 以及 Streaming
- 2025-01-08 熬夜7天,我总结了JavaScript与ES的25个知识点
- 2025-01-08 Layui 项目前端导出Excel文件总结
- 2025-01-08 [西门子PLC] WinCC 从 SQL 数据库导出数据到 Excel 报表模板
- 2025-01-08 产品说要让excel在线编辑,我是这样做的。
- 2025-01-08 JAVA导出EXCEL表格
- 2025-01-08 js中的import/export
- 2025-01-08 前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件
- 2025-01-08 前端必读榜——如何在React中用SpreadJS导入/导出Excel文件
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)