ES模块化的导入和导出

本文章向大家介绍ES模块化的导入和导出,主要包括ES模块化的导入和导出使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

环境准备

三个文件 1.htmla.jsb.js,并要能使代码在服务器环境下运行(不然后面会报跨域的错误)

1.html

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script src="./a.js"></script>
    <script src="./b.js"></script>
</body>
</html>

a.js

let flag = false

b.js

console.log(flag)

这是三个特别特别简单的代码,然后我们让他们在服务器上运行,为了方便我就使用 vscodeLive Server插件运行代码

运行结果

打开控制台后,会发现输出一行 false

模块化

由此可以看出,在js文件中定义的变量已经污染了全局,随着项目的增大这可能会导致不必要的麻烦

于是我们需要进行如下操作

<script src="a.js" type="module"></script>
<script src="b.js" type="module"></script>

当在 script 标签上加上 type="module"就代表这个文件是一个模块,之中定义的属性在全局就访问不到了。

然后我们再看控制台,就会发现如下的错误