ES6中模块化详解
前言
因为ES6中的模块化是将来,所以就必须有必要好好的了解一下,学习一下,这篇文章就简单总结一下ES6中模块的概念,语法和用法。纯属个人总结,不喜勿喷。
下面我将通过a.js、b.js和c.js三个文件把ES6的知识点穿起来。
默认导出
导出语法:
export default 默认导出的成员
样例代码a.js:
// 默认暴露
export default {
name: '果冻想',
getInfo: function(){
return "欢迎关注微信公众号:果冻想";
}
}
注意事项:
- export default 向外暴露的成员,可以使用任意的变量来接收;
- 在每个模块中,只允许使用唯一一次export defalut,否则会报错;
- 如果一个模块未export导出,但在另外一个模块中引入了,会返回一个空对象,不会报错。
统一导出
导出语法:
export {a, b, c};
样例代码b.js:
// 统一暴露
let name = '果冻想';
function getInfo(){
return "欢迎关注微信公众号:果冻想";
}
export {name, getInfo};
分别导出
导出语法:
export a
export b
样例代码c.js:
// 分别暴露
export let name = '果冻想';
export function getInfo(){
return "欢迎关注微信公众号:果冻想";
}
导入方式汇总
直接上代码:
<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了。
总结
一天一个小知识点,学到了~
ES6中模块化详解的更多相关文章
- ES6 中 Promise 详解
Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Promise 提供统一的 API ...
- ES6中Promise详解
Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息. Promise 提供统一的 AP ...
- JAVA9模块化详解(一)——模块化的定义
JAVA9模块化详解 前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一个重要特性--模块化.模块化系统的主要目的如下: 更可靠的配置,通过制定明确的类的依赖关系代替以前那种易错的 ...
- JAVA9模块化详解(二)——模块的使用
JAVA9模块化详解(二)--模块的使用 二.模块的使用 各自的模块可以在模块工件中定义,要么就是在编译期或者运行期嵌入的环境中.为了提供可靠的配置和强健的封装性,在分块的模块系统中利用他们,必须确定 ...
- winxp计算机管理中服务详解
winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...
- cocos2dx常见的46中+22中动作详解
cocos2dx常见的46中+22中动作详解 分类: iOS2013-10-16 00:44 1429人阅读 评论(0) 收藏 举报 bool HelloWorld::init(){ ///// ...
- Android中Context详解 ---- 你所不知道的Context
转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好, ...
- iOS中-Qutarz2D详解及使用
在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...
- 【转】declare-styleable的使用(自定义控件) 以及declare-styleable中format详解
原文网址:http://www.cnblogs.com/622698abc/p/3348692.html declare-styleable是给自定义控件添加自定义属性用的 1.首先,先写attrs. ...
- Python中dict详解
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
随机推荐
- 运用 Argo Workflows 协调 CI/CD 流水线
Argo Workflows 是一个开源的容器原生工作流引擎,用于协调 CI/CD 在 Kubernetes 中的运作.它以 Kubernetes 自定义资源(CRD)的形式实现,使开发人员能够创建自 ...
- 矩池云|GPU 分布式使用教程之 TensorFlow
GPU 分布式使用教程之 TensorFlow TensorFlow 提供了6种策略实现分布式计算,各个策略详情请参考官方文档.本文档使用 MirroredStrategy 实现单机多卡分布式,Mul ...
- 无所不谈,百无禁忌,Win11本地部署无内容审查中文大语言模型CausalLM-14B
目前流行的开源大语言模型大抵都会有内容审查机制,这并非是新鲜事,因为之前chat-gpt就曾经被"玩"坏过,如果没有内容审查,恶意用户可能通过精心设计的输入(prompt)来操纵L ...
- 【Azure Function App】遇见无法加载Microsoft.Azure.WebJobs.ParameterBindingData的问题
问题描述 新部署Azure Funciton代码,遇见无法加载 "Microsoft.Azure.WebJobs.ParameterBindingData" 问题 错误消息:Mic ...
- 【Azure 应用服务】如何来检查App Service上证书的完整性以及在实例中如何查找证书是否存在呢?
问题描述 1:如何来检查App Service上证书的完整性呢? 2:如何来检查App Service的实例上是否包含这个证书呢? Windows 环境 or Linux 环境? 问题解答 问题一: ...
- SpringCloud Sentinel使用
1. 简介 Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流.流量整形.熔断降级.系统负载保护.热点防护等多个维度来帮助开发者保障微服务的稳定性.替换原先Hystrix ...
- 使用内网nginx代理rancher
需求: rancher 部署在 192.168.188.167服务器上 控制台访问地址 https://192.168.188.167:8443 在本地只有192.168.80.111有权限访问, 需 ...
- 3、dubbo核心用法
https://dubbo.apache.org/zh/docs/v2.7/user/examples/preflight-check/ 1.启动时检查 在启动时检查依赖的服务是否可用 Dubbo 缺 ...
- Nginx-web系列
nginx 系列 目录 nginx 系列 一 简述 1.1 为什么要使用? 1.2 主要用于哪里? 二. Nginx 搭建环境 2.1 版本选择 2.2 环境准备 2.2 yum 直装 2.3 ngi ...
- 基于RocketMQ实现分布式事务
背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统.这种分布式的系统架构往往面临着分布式事务的问题.为了保证系统数据的一致性,我们需要确保这些 ...