网址加载器与文件加载器 Webpack

新手上路,请多包涵

我试图找出 url-loader 与 file-loader 之间的区别。 DataURl 是什么意思?

url-loader 的工作方式类似于 file-loader,但如果文件小于字节限制,则可以返回 DataURL。

原文由 stackjlei 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 251
2 个回答

url-loader 将文件编码为 base64 并将它们内联包含,而不是将它们作为单独的文件与另一个请求一起加载。

一个 base64 编码的文件可能看起来像这样:

 data:;base64,aW1wb3J0IFJlYWN0IGZ...

这将被添加到您的包中。

原文由 jens 发布,翻译遵循 CC BY-SA 3.0 许可协议

只是想添加到 Jens 的答案中

file-loader 将文件 复制 到构建文件夹并在包含它们的位置插入指向它们的链接。 url-loader 将整个文件字节内容编码为 base64,并在包含它们的位置插入 base64 编码的内容。所以没有单独的文件。

它们大多都用于图像等媒体资产。主要是图像。

这种技术 可以 使页面加载速度更快,因为向服务器发送的下载文件的 http 请求更少。

同样重要的是,您可以为 url-loader 指定大小限制。对于超过此大小的所有文件,它将自动回退到 file-loader

 {
    test: /\.(png|jpg|gif)$/i,
    use: [{
        loader: 'url-loader',
        options: {
            limit: 8192 // in bytes
        }
    }]
}

原文由 Gherman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏