javascript - 仅在需要时加载js脚本

标签 javascript webpack lazy-loading

我一直在尝试通过删除不必要的 JavaScript 加载来优化我的网页。在我的索引页面中,我只有一个 slider ,但也有一些其他带有表单的 html 页面。

我的 webpack 现在的方式是,它创建一个包含所有脚本的单个“app.js”: slider 内容和表单验证。

但是我在index.html上没有任何表单,所以我认为加载任何表单验证脚本是错误的,因为我不会使用它们中的任何一个。

如何使用延迟加载来仅导入页面所需的 javascript 文件?示例:index.html 将仅加载 slider.js,而我的其他包含表单的 html 页面将仅加载我的 form_validation.js 脚本。

最佳答案

根据Webpack documentation ,你可以做这样的事情。

在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');
}

关于javascript - 仅在需要时加载js脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50126403/

相关文章:

javascript - 如何给具有相同类名的元素在 javascript 中执行相同的功能?

javascript - 我在安装 npm 模块时遇到问题

java - 如何在 hibernate 中延迟加载多对多集合?

c# - session 关闭后加载子对象

javascript - 如何使用JS列出两个日期之间的所有月份?

javascript - 显示/隐藏效果

并排运行 angularjs 和 angular 应用程序时,CSS 不会编译

node.js - Express/Webpack 在 dokku 和 heroku 上失败

javascript - 一个 .js 加载所有 .js 和 .css

javascript - 用于表单的 onsubmit 函数即将出现未定义