2021-08-01 01:08:11
在 JavaScript 中,引入外部 JS 文件主要有以下六种方式,具体选择需根据需求和浏览器兼容性决定:
1. <script> 标签(基础引入)默认同步加载,会阻塞 HTML 解析,直到 JS 文件加载并执行完毕。
适用于对加载顺序无特殊要求的场景。
脚本在 HTML 解析期间并行下载,但延迟到 DOM 加载完成后执行。
多个带 defer 的脚本会按文档顺序执行。
适用于需要操作 DOM 但不依赖其他脚本的场景。
脚本下载期间不阻塞页面渲染,但执行时机不确定(可能随时中断 HTML 解析)。
多个带 async 的脚本执行顺序不固定,适用于独立迟弊模块(如统计脚本)。
适用于对执行顺序无要求且无需操作 DOM 的场景。
异步加载,支持条件导入或按需加载。
适用于代码分割、路由级加载等场景。
需配合现代浏览器或打包工具(如 Webpack)使用。
默认启用严格模式,支持顶层 await。
模块作用域隔离,避免全局污染。
需现代浏览器支持,且文件需通过 CORS 加载(如本地开发需配置服务器)。
依赖 require.js 等库,需提前配置路径。
适用于传统前端架构或需要兼容旧浏览器的场景。
通过合理选择引入方式,可平衡加载效率、执行顺序和浏览器兼容性。