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了。

总结

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

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

相关推荐
深蓝AI3 小时前
Meta 开源用了八年的设计系统 astryx:连坐两天 GitHub 总榜第一,组件库开始写给 agent 的说明书
前端·人工智能
IT_陈寒4 小时前
Vue的watch把我坑惨了,原来要这样用才靠谱
前端·人工智能·后端
1-1=04 小时前
Vue 3 模板语
前端·javascript·vue.js
用户7610304473714 小时前
【转战智能眼镜开发】ROKID AIUI 小游戏 亚马逊标枪项目实战讲解
前端
风卿4 小时前
看着AI写代码太孤独了,来欣赏星云吧:一个DSH 装饰插件
前端·javascript
牧艺4 小时前
弹层不用再手算坐标了:CSS Anchor Positioning 从原理到可上线
前端·javascript·css
用户老李4 小时前
YOLO 目标检测自学教程 07:YOLOv3——多尺度预测
前端
moshuying5 小时前
ESP32 墨水屏金价牌(上):从点亮到把图片推过去
前端
李剑一5 小时前
别再抬杠,前端岗已经没了!无论前后端,我们最终都要成“全干”工程师
前端·面试
Highcharts.js5 小时前
Highcharts 仪表盘与速度仪图表库介绍
前端·信息可视化·仪表板·highcharts·图表开发·图表库·仪表可视化