ES6之Module:export、import

news/2024/7/10 23:33:43 标签: es6, javascript, 前端, vue

文章目录

  • 前言
  • 一、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函数暴露

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

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

javascript">	let name = "张三";

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

2.export default(默认暴露)

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

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

}

二、import命令

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

1.通用导入方式

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

javascript">	<!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 也是取别名

javascript">	<!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导入结果样例。

javascript">	<!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.niftyadmin.cn/n/344233.html

相关文章

基于ssm+vue的驾校在线培训平台

基于ssmvue的驾校在线培训平台 系统功能 普通用户 新闻咨讯&#xff1a;可以查看系统新闻并进行评论、收藏和点赞 教资信息查看&#xff1a;普通用户登录系统可以查看驾校教资情况 系统通知信息&#xff1a;用户可以查看网站相关通知公告信息 在线报名&#xff1a;普通用户可…

找计算机研究的论文18个平台

虽然说目前arvix是计算机领域跟进最新研究成果论文的网站&#xff0c;有时候我们也需要找一些其他的好论文&#xff0c;比如一个很久之前的。我们整理了18个相关平台&#xff0c;包括几个可以免费下载和阅读CS相关技术论文的网站&#xff0c;收录到 找计算机研究的论文18个平台…

Linux中文件描述符fd和文件指针filp的理解

简单归纳&#xff1a;fd只是一个整数&#xff0c;在open时产生。起到一个索引的作用&#xff0c;进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。 文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件…

__weak类型函数

前言 今天无意之间看到了一个__weak类型函数&#xff0c;之前没有了解过&#xff0c;就查了一下资料。现在分享一下。 __weak是什么 含义解释 &#xff08;1&#xff09;其实这个用白话很好理解&#xff1a;__weak 表示弱定义&#xff0c;表示如果你自己定义了同名的函数就不用…

【设计模式与范式:创建型】45 | 工厂模式(下):如何设计实现一个Dependency Injection框架?

在上一节课我们讲到&#xff0c;当创建对象是一个“大工程”的时候&#xff0c;我们一般会选择使用工厂模式&#xff0c;来封装对象复杂的创建过程&#xff0c;将对象的创建和使用分离&#xff0c;让代码更加清晰。那何为“大工程”呢&#xff1f;上一节课中我们讲了两种情况&a…

iptable 防火墙一

目录 iptables概述netfilter/iptables 关系四表五链四表&#xff1a;五链&#xff1a; 规则链之间的匹配顺序主机型防火墙&#xff1a;规则链内的匹配顺序&#xff1a; iptables 安装iptables防火墙的配置方法&#xff1a;iptables 命令行配置方法&#xff1a;常用的控制类型&a…

java使用jedis连接redis和redis集群

这是使用jedis分别连接redis和redis集群 redis单机版&#xff1a; 连接redis JedisPoolConfig config new JedisPoolConfig(); // 最大连接数 config.setMaxTotal(maxActive); // 最大空闲连接数 config.setMaxIdle(maxIdle); //连接的最小空闲时间&#xff0c;达到此值后该…

effective c++ 13 以对象管理资源

effective c 13 以对象管理资源 本章节主要讲解的就是C中常用的一种设计模式RAII&#xff0c;使用对象进行管理资源&#xff0c;从而有效的防止资源泄露。 分析 最典型的使用RAII的例子就是智能指针。 #include <iostream> #include <memory> class A { public…