【ES】笔记-ES6模块化

news/2024/7/10 23:26:07 标签: 笔记, es6

暴露数据引入模块语法

  • 规范
    • 基本语法
      • 分别暴露 (按需暴露)
      • 统一暴露 export {暴露内容1,暴露内容2}
      • 默认暴露 (适合只暴露一个数据) 只能暴露一次
      • 同时使用
      • 在app.js中引入

规范

  • 每个文件都是一个模块
  • 要借助Babel和Browserify依次编译代码,才能在浏览器端运行
  • Bebel中文网:https://www.bebeljs.cn/
  • Babel可以把es6转成es5

基本语法

模块暴露数据
1、分别暴露 (按需暴露) export 暴露内容
2、统一暴露 export {暴露内容1,暴露内容2}
3、默认暴露 export defalut 暴露内容

分别暴露 (按需暴露)

export const data='asheh'
export const msg='ssss'
export function showMsg(){
    console.log(msg);
}
export function showData() {
    console.log(');
}

补充:准备相关依赖包(为编译代码做准备)
全局安装:babel-cli、Browserify :npm install babel-cli browserify -g
局部安装:babel-preset-es2015: npm install babel-preset-es2015
建立.babelrc文件

{
    "presets0"["es2015"]
}

}
执行babel ./ -d
翻译 browserify ./build/app.js -o ./build/build.js

统一暴露 export {暴露内容1,暴露内容2}

const school='尚硅谷'
const person={
    name:'老刘',
    age:18,
    sex:'女'
}
function getLaoliu(){
    console.log(person)
}
//统一暴露--常用`在这里插入代码片`
export {school,person,getLaoliu}
//支持改名
export {school as school ,person as person,getLaoliu as getLaoliu}

默认暴露 (适合只暴露一个数据) 只能暴露一次

export default {
    name:"wc",
    age:5
}

同时使用

# [分别暴露]
export const teacher1={name:'强哥',age:15}
export const teacher2={name:'ke 哥',age:35}
# [统一暴露]
const stu1= {name:'网哥',age:25}
const stu1= {name:'掌声',age:33}
export {stu1,stu2}

# [默认暴露]
export default{
    school:'上海dax',
    address:'shanghai',
    subject:['计算机','java','大数据']
}

在app.js中引入

# 引入【分别暴露】模块
import {data,msg,showData,showMsg} form './module1' # 注意不是解构赋值

# 引入【分别暴露】模块 + 打包加入
import * form './module1'

# 引入【分别暴露】模块 + 重命名
import {data as data2} form './module2'

# 引入【统一暴露】模块 (和上面三种一样)
import {school as sc,person,getLaoliu} form './module3'

# 引入【默认暴露】模块 
import module4 form './module4'

# 引入多种暴露方式
import module5,{teacher1,teacher2,stu1,stu2} from './module5'

http://www.niftyadmin.cn/n/5070395.html

相关文章

led护眼台灯对眼睛有伤害吗?推荐好用的led护眼台灯

其实led护眼台灯对眼睛伤害是不大的,而且和白炽灯、卤素灯等老式台灯相对比,反而更加护眼。因为白炽灯、卤素灯等光线都不太稳定,而且光线不是很均匀可以明显感觉有明暗差,最主要的是频闪现象会比较严重,长时间使用的话…

【无标题】This project has been opened by another efinity instance

This project has been opened by another efinity instance 说明:(1)软件自动即出可能有些进程没有关闭 (2)目录中有中文路径。

零基础如何自学网络安全,基于就业前景全方位讲解,包教包会

你是否对网络空间安全充满好奇?想要解开网络世界神秘的面纱?你是否对黑客技术着迷?而找不到合适的学习途径?你是否遭到过各种各样的网络攻击,却因知识的匮乏束手无策? 那么接下来将为你全面介绍&#xff0c…

中国电信与中国羽协签约,成为中国国家羽毛球队官方合作伙伴

近日,中国电信与中国羽毛球协会签约,正式成为中国国家羽毛球队官方合作伙伴和尊荣赞助商,双方将在科技赋能体育、体育助力品牌传播等方面,开展深入合作,强强联手,互利共赢。 作为建设网络强国、数字中国和维…

Java自定义类加载器的详解与步骤

自定义类加载器的步骤 继承ClassLoader类:首先创建一个新的类,该类需要继承ClassLoader类。可以通过直接继承ClassLoader或是间接继承URLClassLoader等子类来实现。重写findClass()方法:在自定义类加载器中,最重要的是重写findCl…

深入探究HTML表单与JavaScript的关系

深入探究HTML表单与JavaScript的关系 引言 HTML表单是网页中数据收集的重要工具,而JavaScript则充当着这些数据的处理者和控制者的角色。二者之间的关系非常紧密,共同构成了现代Web应用中用户交互的基础。在这篇博客中,我们将详细地解析HTM…

【Django笔记】认证系统

使用Django 的认证系统实现用户信息验证 在前面使用migrate 命令进行数据迁移时候,生成了auth_user表 ,该表中存放了用户信息可以用来登录Django自带的Admin 管理后台。 创建Admin 后台管理账号 python manage.py createuperuser E:\data\python\djaongo_prj\gu…

MyBatisPlus(十三)逻辑查询:and / or

说明 逻辑查询,对应SQL语句中的多个查询条件进行逻辑组合,包括 and 和 or。 逻辑 “与” :and 默认情况下,多个查询条件,就是使用的逻辑与(and)连接,并不需要再使用 and() 函数。…