javascript - 仅在需要时加载 js 脚本
问题描述
我一直在尝试通过删除不必要的 javascript 加载来优化我的网页。在我的索引页面中,我只有一个滑块,但我也有一些其他带有表单的 html 页面。
我的 webpack 现在的方式是,它创建一个包含所有脚本的单个“app.js”:滑块内容和表单验证。
但是我在 index.html 上没有任何表单,所以我认为加载任何表单验证脚本都是错误的,因为我不会使用它们中的任何一个。
如何使用延迟加载仅导入页面所需的 javascript 文件?示例:index.html 只会加载slider.js
我的其他包含表单的 html 页面将加载仅加载我的form_validation.js
脚本。
解决方案
根据Webpack 文档,你可以做这样的事情。
在 index.html 页面上
document.onload = async function(){
const slider = await import(/* webpackChunkName: "slider" */ 'slider');
}
在您拥有表单的 HTML 页面上
document.onload = async function(){
const form_validation = await import(/* webpackChunkName: "form_validation" */ './form_validation');
}
推荐阅读
- android - 无法解析符号 v7:导入 android.support.v7.widget.RecyclerView
- ios - 如何与世界各地的随机人进行匹配并跨设备发送数据?
- java - Hibernate 可以生成与 java 属性名逐字匹配的 DDL 列名吗?
- android - 如何将资产文件夹中的视频加载到视频视图?
- php - 向表中添加新列
- excel - 在公式代码中使用正确的引号
- wpf - WPF 文本框最大宽度
- javascript - 如何强制解析异步功能
- ios - 固定标题在使用 iPhone/iOS 滚动时跳跃和闪烁
- android - Android:Espresso:如何在 RecyclerView 的特定位置获取项目?