当前位置: 首页 > news >正文

【ES】笔记-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.lryc.cn/news/184697.html

相关文章:

  • 阿里云/腾讯云国际站代理:腾讯云国际站开户购买EdgeOne发布,安全加速一体化方案获业内认可
  • AIGC AI绘画 Midjourney 的详细使用手册
  • Lua系列文章(1)---Lua5.4参考手册学习总结
  • Leetcode.121 买卖股票的最佳时机
  • IDE相关设置和插件
  • nodejs之jsdom插件,运行浏览器环境
  • 运行vite项目报错:await import(‘source-map-support‘).then((r) => r.default.install())
  • 【GIT版本控制】--安装GIT
  • java 常见api Arrays类
  • Java常见设计模式
  • Hive 【Hive(七)窗口函数练习】
  • C++深入学习part_1
  • leetCode 300.最长递增子序列 (贪心 + 二分 ) + 图解 + 优化 + 拓展
  • Spring加载后置处理器方式之模板方法
  • 【高性能计算】CUDA编程之OpenCV的应用(教程与代码-4)//test error
  • 高德地图行政区域四级级联数据拉取;省市区县乡镇级联数据
  • Qt_基础
  • 最新AI创作系统源码ChatGPT网站源码V2.6.3/支持Midjourney绘画/支持OpenAI GPT全模型+国内AI全模型
  • UML建模语言分析和设计
  • SystemUI导航栏
  • 3d 贴图下载quixel
  • Linux权限维持
  • 互联网通信的核心协议HTTP和HTTPS
  • javaWeb网上购物系统的设计与实现
  • MySQL 主从复制、读写分离
  • 基于虚拟阻抗的下垂控制——孤岛双机并联Simulink仿真
  • windows内核编程(2021年出版)笔记
  • 时序预测 | MATLAB实现EMD-iCHOA+GRU基于经验模态分解-改进黑猩猩算法优化门控循环单元的时间序列预测
  • FFmpeg 命令:从入门到精通 | FFmpeg 解码流程
  • 连接虚拟机工具推荐