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

总结

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

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

相关推荐
Qrun1 小时前
Windows11安装nvm管理node多版本
前端·vscode·react.js·ajax·npm·html5
中国lanwp1 小时前
全局 npm config 与多环境配置
前端·npm·node.js
JELEE.2 小时前
Django登录注册完整代码(图片、邮箱验证、加密)
前端·javascript·后端·python·django·bootstrap·jquery
TeleostNaCl4 小时前
解决 Chrome 无法访问网页但无痕模式下可以访问该网页 的问题
前端·网络·chrome·windows·经验分享
前端大卫5 小时前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友5 小时前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
小李小李不讲道理7 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻7 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front8 小时前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰8 小时前
纯flex布局来写瀑布流
前端·javascript·css