html 引入 js 代码的几种方式
2024-09-07 12:36:43
一、普通加载
<script src="./abc.js"></script>
二、内嵌
<script> JavaScript 代码 </script>
三、预加载 (用了es6模块就不需要预加载了,es6模块是异步加载的)
<!--head标签中-->
<link rel="preload" href="main.js" as="script" />
<!--body标签中-->
<script src="main.js" defer></script>
模块引入
- es6模块
模块的思想可以概括为:把代码拆开,再把他们连接起来,如何处理模块之间的依赖是模块系统的核心,依赖模块的必须是模块,也就是不能在普通script标签中引入模块:
<script type="module" src="main.js"></script>
嵌入的模块定义代码不能使用 import 加载到其他模块。只有通过外部文件加载的模块才可以使用import
加载。因此,嵌入模块只适合作为入口模块。
最基础的 import 和 export 基本所有环境都已经支持了(包括nodejs)
import
引入的文件只会执行一次,可能会产生副作用请注意
- AMD 模块:就是
layui
用的那个,require
之后要回调 - CommonJS:模块
node
用的那个,直接const xx = require('')
- CMD 模块:用
define
没见有人用过
parcel对module的支持不完善
首先不支持嵌入代码,必须用 src
属性引入
另外,会报错,因为module
会默认static模式,不能隐式声明,而parcel的代码依赖这一点,所以需要在模块引入之前先声明:
var parcelRequire;
参见:https://www.cnblogs.com/dou-fu-gan/p/17077594.html
parcel官方github也有issue,原谅博主太懒(截至2023/2/2仍不支持)
参考链接
JavaScript 高级程序设计第四版(不能点,别点了)
一文彻底搞懂JS前端5大模块化规范及其区别 cnblog
JavaScript 模块
最新文章
- Hibernate多对多双向关联的配置
- iOS检查App新版本并更新新版本
- B树(B-Tree)的由来、数据结构、基本操作以及数据库索引的应用
- 在生产环境记录http请求参数
- STL--集和多集(set/multiset)
- java heep space错误解决办法
- 开源的rtsp实现
- JNI之有必要的优化设计
- Java中BigDecimal的8种舍入模式是怎样的
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
- 如何在spring中获取request对象
- POJ 2631 Roads in the North(树的直径)
- Java开发笔记(七十五)异常的处理:扔出与捕捉
- form表单中新增button按钮,点击按钮表单会进行提交
- CSS之三个模型 盒子模型 轮廓模型 内外边距
- XV Open Cup named after E.V. Pankratiev. GP of Central Europe (AMPPZ-2014)--B.Petrol
- kubernetes ceph-rbd挂载步骤 类型storageClass
- 如何在基于Bytom开发过程中使用Bigchaindb
- 用 Prettier 统一团队的代码风格~
- CodeForces 430A Points and Segments (easy)(构造)题解