前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6模块化的实现

ES6模块化的实现

作者头像
peng_tianyu
发布2022-12-15 16:49:37
2390
发布2022-12-15 16:49:37
举报
文章被收录于专栏:前端开发随记前端开发随记

1.准备工作

代码语言:javascript
复制
<!-- 首先需要在HTML文件中引入两个js文件 类型需要设置为module -->
<script src="index.js" type="module"></script>
<script src="main.js" type="module"></script>

2.export使用

代码语言:javascript
复制
//main.js
//定义一些变量和函数
var name = '张三'
var age = 20
var flag = true

function sum(num1, num2){
  return num1 + num2
}

//导出方式一
export {
  flag, sum
}

//导出方式二
export var num1 = 1;	
export var heigt = '1.88';

//导出函数/类
export function mul(num1, num2) {
  return num1 * num2
} 
export class Person {
  run() {
    console.log('跑')
  }
}

//某些情况下,一个模块中包含某个功能,我们并不希望给这个功能命名,而是让导入者可以自己命名
//export default在同一个模块中,不允许同时存在多个
const address = '北京'
export default address

3.import使用

代码语言:javascript
复制
//index.js 
//使用export指令导出模块对外接口,就可以通过import命令来加载对应的模块

//导入{}中定义的变量
import {flag, sum} from './main.js';

if(flag) {
  console.log(1) //1
  console.log(sum(10, 20)) //30
}

//直接导入export定义的变量
import {num1, height} from './main.js';

console.log(num1); //1000
console.log(height); //1.88 

//导入export的function/class
import {mul, Person} from './main.js';

console.log(mul(10, 20)); //200

const p = new Person();
p.run(); //跑

//导入 export default中的内容
import addr from './main.js';
console.log(addr); //北京

//全部导入
import * as a from './main.js'

console.log(a.name); //张三
console.log(a.age); //20
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.准备工作
  • 2.export使用
  • 3.import使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档