怎么以index.html文件为入口文件进行打包?

发布于 2022-09-07 08:41:03 字数 1385 浏览 14 评论 0

总的来说就是, 以html文件为入口, 自动寻找依赖的图片,css和js然后进行hash命名并打包。新的html文件的引用的图片css和js都会被改动成带有hash码的新的名字。

我有4个前端页面

clipboard.png

里面内联了 图片 和 js(包括jquery)

clipboard.png

和css(bootstrap)

clipboard.png

我要打包成有hash加密并压缩的js和css

clipboard.png

clipboard.png

同时html文件也会被压缩, 图片也被压缩并把文件名进行hash加密,

clipboard.png

就是为了减少浏览器的请求, 所有用到的js都打包成一个js文件, 所有用到的css打包成一个css文件,文件名都进行hash加密, 然后 html文件中自动化的调用这些个hash加密的js css 和 图片。

clipboard.png

clipboard.png

clipboard.png

这样有hash加密的文件名就能进行版本控制, 方便前端静态页面的更新迭代, 只要页面上的代码改变了, 相应的代码文件名字的hash值也会不一样, 推送到服务器以后, 用户打开网页也不会因为缓存的问题而看不到最新的页面,不用ctrl+f5清除缓存。
(因为index.html文件名不进行hash加密,需要设置index.html等主页文件极低的缓存时间, 或者不缓存)

那么gulp或者webpack哪个能完成?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千里故人稀 2022-09-14 08:41:03

你这种比较传统的开发模式 也可以试试fis3

蓝眸 2022-09-14 08:41:03

感觉是jquery不是全局变量的原因,
使用webpack中的plugins中使用ProvidePlugin这个插件进行全局变量注册,
这样写下试试

clipboard.png
或者配置下

externals: {
"jquery" : "jQuery"
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文