ES6之Module:export、import

news2024/11/28 18:57:54

文章目录

  • 前言
  • 一、export命令
    • 1.export
    • 2.export default(默认暴露)
  • 二、import命令
    • 1.通用导入方式
    • 2.解析赋值导入方式
  • 三、结果
  • 总结


前言

ES6之前,JavaScript语言一直没有模块(Module)体系,无法将一个大型程序分解成相互依赖的小文件,再用简单的方法进行拼接起来。ES6在语言规格的层面上实现了模块功能,而且实现的相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。
ES6模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。
模块功能由两个命令构成:export和import


一、export命令

该命令用于规定模块的对外接口。
模块就是一个独立的文件,该文件内部的所有变量从外部无法获取,如果希望外部能够读取内部某些变量,必须用export输出暴露。

1.export

(1)分别暴露:
用export分别将name,和say函数暴露

	export let name = "王五";
	export function say() {
    console.log("hello");
}

(2)统一暴露:
用export进行统一暴露对象

	let name = "张三";

	function say() {
    	console.log("hello");
	}
	export { name, say };

2.export default(默认暴露)

用export default暴露,此方法比较推荐,更方便书写

	export default {
    name: "张三",
    say: function() {
        console.log("hello");
    }

}

二、import命令

import用于输入其他模块提供的功能,即导入其他模块用export暴露的变量。
注意在html文件里导入模块的格式。

1.通用导入方式

*代表导入全部,as是起别名,from后面跟的是路径

	<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="module">
        import * as m1 from "./test1/js/m1.js" ;
    </script>
</body>

</html>

2.解析赋值导入方式

as是取别名,default as 也是取别名

	<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="module">//注意type='module'
        import {name,say} from "./test1/js/m1.js" ;
        import {name as n,say} from "./test1/js/m2.js" ;
        import {default as m3} from "./test1/js/m3.js" ;
    </script>
</body>

</html>

三、结果

最后给大家看一下,上面js导入结果样例。

	<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="module">
        import {name,say} from "./test1/js/m1.js" ;
        console.log(name); import * as m2 from "./test1/js/m2.js" ; console.log(m2);
    </script>
</body>

</html>

在这里插入图片描述

在这里插入图片描述


总结

以上就是Moudle的一些命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/550678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《计算机网络——自顶向下方法》精炼——3.5.1-3.5.4

人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定、冷静,学习如何从慌乱中找到生机。——席慕蓉 文章目录 TCPTCP协议概述报文段结构序号、确认号 超时问题计算RTT计算重传时间 可靠数据传输 TCP TCP协议概述 TCP是面向连接的协议&#xff0c;在…

nest笔记十一:一个完整的nestjs示例工程(nestjs_template)

概述 链接&#xff1a;nestjs_template 相关文章列表 nestjs系列笔记 示例工程说明 这个工程是我使用nestjs多个项目后&#xff0c;总结出来的模板。这是一个完整的工程&#xff0c;使用了yaml做为配置&#xff0c;使用了log4js和redis和typeorm&#xff0c;sawgger&#…

Less和sass安装及使用

CSS预处理器 由来 CSS本身不是一种编程语言。你可以用它开发网页样式&#xff0c;但是没法用它编程。换句话说&#xff0c;CSS基本上是设计师的工具&#xff0c;不是程序员的工具。它并不像其它程序语言&#xff0c;比如说JavaScript等&#xff0c;有自己的变量、常量、条件语…

手把手教你验证upd与tcp“端口”开发策略

系列文章目录 文章目录 系列文章目录前言一、问题&#xff1f;二、验证网络策略步骤三、增强验证网络策略总结 前言 这篇文章&#xff0c;本意是让大家了解除了常用的telnet之外&#xff0c;在运维过程中&#xff0c;如果在服务器中未发现相关命令还可以借用像ssh、wget 等命令…

震惊!我的电脑居然中病毒了,快来看看我是如何解决的

打开电脑就自动跳转到http://www.exinariuminix.info/ 问题背景 今天刚打开电脑&#xff0c;然后电脑莫名奇妙就自动跳转到http://www.exinariuminix.info/网页&#xff1a; 联网后加载&#xff0c;它就自动重定向到一个莫名其妙的网站&#xff1a; 问题原因 出于好奇&#…

大数据Doris(二十四):Doris数据Insert Into导入方式介绍

文章目录 Doris数据Insert Into导入方式介绍 一、语法及参数 二、案例 三、注意事项 1、关于插入数据量 2、关于insert操作返回结果 3、关于导入任务超时 4、关于Session变量 5、关于数据导入错误 Doris数据Insert Into导入方式介绍 Doris 提供多种数据导入方案&…

SpringMVC执行原理

目录结构 pom.xml依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- https://mvnrepository.co…

【Java校招面试】实战面经(五)

目录 前言一、讲讲short数据类型&#xff0c;short s1 1; s1 s11;对不对&#xff1f;二、使用final关键字的好处三、如果String中重写equals不重写hashCode会出现什么问题&#xff1f;四、ConcurrentHashMap的get方法是不加锁的&#xff0c;如何保证线程安全&#xff1f;五、…

缓存存在的问题

文章目录 缓存问题缓存穿透引入解决方案 缓存雪崩缓存击穿 缓存问题 使用缓存时常见的问题主要分为三个&#xff1a;缓存穿透 、缓存雪崩、缓存击穿。 下面对其进行一一学习 缓存穿透 引入 定义&#xff1a;缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#…

20230521给coolpi4b开发板刷Android12和串口的使用

20230521给coolpi4b开发板刷Android12和串口的使用 2023/5/21 9:31 所需要的配件&#xff1a; 1、2.0mm转2.54mm的杜邦线母头2条&#xff08;2位一起的一条&#xff09; 2、串口板&#xff1a;CH340&#xff08;WIN7下使用&#xff09; 3、USB的公头-公头线 首先&#xff0c;欢…

微星MSI GE66 10SF-416RU电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件配置 硬件型号驱动情况 主板Intel HM470 处理器Intel Core i7-10875H 2.30GHz up to 5.10GHz已驱动 内存Kingston Fury Impact DDR4 2x16Gb 3200mhz已驱动 硬盘NT…

Redis介绍及Linux单机安装

1.Redis介绍 1.1.什么是Redis Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 Redis是完全开源的&#…

OpenCV人脸识别QT上位机(含源码)

OpenCV Releases&#xff1a;4.6.0 开发平台&#xff1a;QT 6.4.0 编译环境&#xff1a;MSVC 2019 64bit 主要功能&#xff1a;1、预处理图片 2、生成CSV文件 3、生成识别器文件等功能。主要用于学习opencv的整个流程和实现一些简单的功能&#xff0c;比如识别指定的人脸并显…

安卓与串口通信-实践篇

前言 在上一篇文章中我们讲解了关于串口的基础知识&#xff0c;没有看过的同学推荐先看一下&#xff0c;否则你可能会不太理解这篇文章所述的某些内容。 这篇文章我们将讲解安卓端的串口通信实践&#xff0c;即如何使用串口通信实现安卓设备与其他设备例如PLC主板之间数据交互…

【计算机网络复习】第五章 数据链路层 1

数据链路层的作用 两台主机&#xff08;端到端&#xff09;之间的通信是依靠相邻的主机/路由器之间的逐步数据传送来实现 数据链路层实现相邻主机/路由器间的可靠的数据传输 网络层&#xff1a;主机-主机通信 数据链路层&#xff1a;点到点通信 数据链路层的主要功能 u 链路…

3R幸福法

3R幸福法 3R幸福法可以帮助我们《建立和谐亲密关系》 模型介绍 3R幸福法体现的是一个人被关注的完整逻辑&#xff1a; Reson-理由&#xff0c;关注缘起。不会让你想表达的感情看起来显得唐突&#xff0c;不会让对方和自己不好意思。Respond-反应&#xff0c;是关注影响。更多…

ROS 工作空间与功能包的创建(三)

执行命令&#xff1a; mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src/catkin_init_workspace echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 效果&#xff1a; 输入命令查看添加成功了没有 tail ~/.bashrc 编译工程&#xff1a;执行命令 cd ~…

csdn文章markdown格式下载

前言 网上下载CSDN文章的方式多种多样&#xff0c;有的直接下载为pdf格式&#xff0c;有的利用python/java代码将文章下载为md格式&#xff0c;也有的用JavaScript下载文章&#xff0c;但下载的文章仅限于自己写的&#xff08;会介绍&#xff09;&#xff0c;这里也提供一种简单…

关于接口中的一些常用实例以及比较方法的区别

文章目录 &#x1f490;文章导读&#x1f334;Object 类toString() 获取对象信息equals 对象比较方法hashCode 获得对象的具体位置 &#x1f334;接口使用实例Comparable 接口Comparator 接口 &#x1f490;文章导读 在本篇文章中&#xff0c;详解了什么是Object类&#xff0c;…

MyBatis中三级缓存的理解

文章目录 前言1. 环境搭建1.1 依赖引入1.2 mybatis-config.xml配置配置db.properties在mybatis-config.xml引入db.properties 1.3 实体类1.4 mappermapper接口mapper映射文件 1.5 测试 2.缓存2.1 一级缓存mybatis-config.xml 配置日志开启日志配置日志文件logback.xml测试相同m…