ES6中模块化详解

一个兜兜转转,从"北深"回到三线城市的小码农,热爱生活,热爱技术,在这里和大家分享一个技术人员的点点滴滴。欢迎大家关注我的微信公众号:果冻想

前言

因为ES6中的模块化是将来,所以就必须有必要好好的了解一下,学习一下,这篇文章就简单总结一下ES6中模块的概念,语法和用法。纯属个人总结,不喜勿喷。

下面我将通过a.js、b.js和c.js三个文件把ES6的知识点穿起来。

默认导出

导出语法:

javascript 复制代码
export default 默认导出的成员

样例代码a.js:

javascript 复制代码
// 默认暴露
export default {
    name: '果冻想',
    getInfo: function(){
        return "欢迎关注微信公众号:果冻想";
    }
}

注意事项:

  • export default 向外暴露的成员,可以使用任意的变量来接收;
  • 在每个模块中,只允许使用唯一一次export defalut,否则会报错;
  • 如果一个模块未export导出,但在另外一个模块中引入了,会返回一个空对象,不会报错。

统一导出

导出语法:

javascript 复制代码
export {a, b, c};

样例代码b.js:

javascript 复制代码
// 统一暴露
let name = '果冻想';

function getInfo(){
    return "欢迎关注微信公众号:果冻想";
}

export {name, getInfo};

分别导出

导出语法:

javascript 复制代码
export a
export b

样例代码c.js:

javascript 复制代码
// 分别暴露
export let name = '果冻想';

export function getInfo(){
    return "欢迎关注微信公众号:果冻想";
}

导入方式汇总

直接上代码:

javascript 复制代码
<script type="module">
    // 1. 通用的导入方式
    // 引入 a.js 模块内容
    import * as m1 from "./a.js";
    console.log(m1.default.name);
    console.log(m1.default.getInfo());

    // 引入 b.js 模块内容
    import * as m2 from "./b.js";
    console.log(m2.name);
    console.log(m2.getInfo());

    // 引入 c.js
    import * as m3 from "./c.js";
    console.log(m3.name);
    console.log(m3.getInfo());

    //2. 解构赋值形式
    import {name, getInfo} from "./b.js";
    console.log(name);
    console.log(getInfo());

    //3. 简便形式  针对默认暴露
    import a from "./a.js";
    console.log(a.name);
    console.log(a.getInfo());
</script>

在浏览器中如果无法直接运行,安装一个live server插件就OK了。

总结

一天一个小知识点,学到了~

一个兜兜转转,从"北深"回到三线城市的小码农,热爱生活,热爱技术,在这里和大家分享一个技术人员的点点滴滴。欢迎大家关注我的微信公众号:果冻想

相关推荐
索西引擎36 分钟前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js
只会cv的前端攻城狮1 小时前
动态组件架构设计:从配置到事件驱动全链路解析
前端·vue.js
飞天狗1 小时前
Next.js 16 App Router 实战:服务端组件与流式渲染
前端·next.js
OpenTiny社区1 小时前
TinyEngine 2.11版本发布:AI 进一步融入画布,Vue 工程可一键转DSL
前端·vue.js·github
小雪_Snow1 小时前
JavaScript 中的三种常用事件
开发语言·前端·javascript
Hyyy1 小时前
Electron-Vite是什么,和Vite有什么区别
前端·面试
蓝胖子酱2 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
虚焦像素_2 小时前
海康 Web 插件版接入指南:用法与注意事项
前端
虚焦像素_2 小时前
海康 Web 无插件版接入指南:用法与注意事项
前端
To_OC3 小时前
LC 22 括号生成:刷完这道题,我终于搞懂回溯剪枝了
javascript·算法·leetcode