ES6的模块暴露和引入可以让我们实现模块化编程,以下列出ES6的几种模块暴露与引入的方式与区别。

1、ES6一共有三种模块暴露方法

  • 多行暴露

模块1:module1.js

//多行暴露
export function foo() {
console,console.log('foo() moudle1');
} export function bar() {
console.log('bar() moudle1')
}
  • 统一暴露

模块2: module2.js

function fun1() {
console.log('fun1() module2')
} function fun2() {
console.log('fun2() module2')
}
// 统一暴露
export {foo,bar}

以上两种向外暴露方式在主文件引入时必须使用对象的解构赋值引用(不能使用变量接收的方式来映入)

主模块:main.js

import {foo,bar} from '.js/src/module1.js'
import {fun1,fun2} from './js/src/module2.js'
  • 默认暴露
export default {
foo() {
console.log('默认暴露方式')
},
bar() {
console.log('默认暴露')
}
}

默认暴露的方式只允许有一个: export default {}且在主模块引入时可以使用定义变量来接收的方式!

// 引入模块3
import module3 from '.js/src/module3.js' // 使用模块
module3.foo()
module3.bar()

最新文章

  1. Ajax深入解析
  2. php常用函数汇总
  3. linux命令(3):复制,剪切(文件和文件夹)
  4. .NET技术+25台服务器怎样支撑世界第54大网站(转)
  5. ASP.NET MVC3 Web应用程序中启用GZip压缩示例
  6. angularjs填写表单
  7. c++中string::function集合
  8. 实现一个简单的Unity3D三皮卡——3D Picking (1)
  9. 以脚本方式直接执行修改密码的passwd命令
  10. 用webstorm自动编译less产出css和sourcemap
  11. 安卓打开File Explorer里面不显示内容
  12. Terminating app due to uncaught exception 'CALayerInvalid', reason: 'layer <CALayer: 0x7fda42c66e30> is a part of cycle in its layer tree'
  13. centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理
  14. 第六周助教工作总结——NWNU李泓毅
  15. 1.Django学习
  16. Beta冲刺 (7/7)
  17. 前端学习 之 Bootstrap (一)
  18. 在win10企业版x64下使用curl命令
  19. Java学习——Applet画8个同心圆
  20. Centos 定时任务发送smtp邮件

热门文章

  1. 拉格朗日插值Python代码实现
  2. dubbo的重试原则
  3. Python语言学习前提:基础语法
  4. ZJNU 1133 - Subset sequence——中级
  5. Opencv笔记(八)——图像上的算数运算
  6. 序列化模块ModelSerializer
  7. 二十八、rsync同步工具深入
  8. rework-发出你的心声
  9. python,winreg,获取当前系统的桌面绝对路径
  10. Linux安装svn服务