文章目录
- JavaScript 模块化加载:传统 \<script> 标签与 type="module" 的比较
- 1 目标
- 2 对比
- 2.1 带type="module"
- 2.2 不带type="module"
- 3 代码
- 3.1 带type="module"
- 3.1.1 hello.js
- 3.1.2 index.html
- 3.2 不带type="module"
- 3.2.1 hello.js
- 3.2.2 index.html
JavaScript 模块化加载:传统 <script> 标签与 type=“module” 的比较
1 目标
<script type=“module” src=“/src/main.ts”></script>和<script src=“/src/third/libgif.js”></script>在使用上的区别
2 对比
2.1 带type=“module”
使用 type=“module” 时,JavaScript 文件被视为 ES 模块。以下是一些关键特性:
- 模块作用域: ES 模块在其自己的作用域内运行,不会污染全局作用域。默认情况下,模块内的变量、函数等不能在模块外访问,除非显式导出。
- 严格模式: 模块默认在严格模式下运行,不需要显式使用 ‘use strict’;。
- 导入和导出: 模块可以使用 import 和 export 语法从其他模块导入或导出功能。
- 异步加载: 模块是异步加载的,因此不会阻塞