作者回复: webpack 目前的打包入口只能是以 js 为入口的,暂时还不支持以 html 为入口进行打包,也就是 webpack 默认是不会分析 html 文件里面的依赖(比如 src=xxx 或者 外部 css 中的语法)。可以看下这个 issue 的讨论:(https://github.com/webpack/webpack/issues/536) 针对你说的这两个问题的处理办法是: 1. 比如在html里用img的src引用图片。 解决办法:可以增加 html-loader 去处理 html,这样的话可以识别的了 img:src 这个属性。html-loader 提供了解析 html 里面的图片引入的能力 2. 通过 link 去引入的css里面的图片处理。 解决办法:思路和 html-loader 比较像,可以去编写一个 loader 用于解析 html 的 link 语法,如果发现引入的是 css,那么对这个 css 的语法和里面的图片依赖进行解析,并且打包出一份新的 css 文件放到 dist 目录。
作者回复: 如果样式是一开始就内联的化,里面的图片是无法解析的。有两种办法可以解决: 1. 实现一个 loader,这个 loader 用于处理 html 文件,匹配里面的图片内容然后进行解析转换。 2. 样式一开始不要写成内联的方式,而是将样式以模块的方式引入进去,构建完成后再将生成的样式文件内联进 html 里面去。 图片懒加载和构建无关,这个是 JS 层面的事情,当页面滚动到可视区的时候才将需要显示的图片 src 进行替换。
作者回复: 减少http请求数,优化页面加载性能
作者回复: 这个是VSCode的快捷键,用于打开vscode
作者回复: 有几种办法: 1. 将大文件发布到cdn,以cdn 的方式引入,而不打入包中 2. 大的 file 通过 code split 分割后懒加载
作者回复: 看这个构建配置是没问题的,看看你的图片大小是不是小于10k哈? 如果图片大小没问题,可以把你的项目代码上传到 github上,发个链接我看下。
作者回复: 完全可以的
作者回复: 区别也介绍到了, url-loader 其实也是基于 file-loader,只不过 url-loader 多了可以自动设置小图片、字体 base64 内联到代码里面的功能。 全部用 url-loader 也没问题
作者回复: 嗯嗯,感谢指出。相对来说影响也不大,后面更正下
作者回复: 可以解析的,你看看配置字体解析的时候有没有带上ttf后缀