script标签介绍
script标签的属性对于控制script的加载和执行顺序至关重要,type=module,defer和async属性可以帮组我们更好的管理脚本的加载流程,从而提高页面的加载速度和用户体验
1、基本概念和作用
1.1、type=module
- 定义:module属性是告诉浏览器,script标签中的脚本是按照ES module规范>来执行
- 用途:允许在浏览器环境中使用ES6模块,即导入(import)和到处(export)语句
1.2、type=module
- 定义:defer属性是告诉浏览器在解析完整个文档后再执行脚本,但保证脚本按顺序执行
- 用途:确保脚本执行顺序,同时不影响页面渲染
1.3、type=acync
- 定义:async属性是告诉浏览器立即下载脚本,并在下载完成后立即执行脚本,不保证脚本的执行顺序。
- 用途:异步执行脚本,加快页面加载速度
2、基础用法
2.1、type = mudle ,使用es6模块:
<script type = "module">
import {getSomeSthing} from './someSthing.js'
getSomeSthing()
<script>
2.2、type = defer,
<script src = './someSthing.js' defer><script>
2.3、type = async
<script src = './someSthing.js' async><script>