我正在尝试 Laravel Vite,但似乎无法弄清楚如何让构建命令移动静态资源。相反,它通过 Base64 将图像“嵌入”CSS 文件中。
到目前为止,我发现您需要引用相对于源 .css / .scss 文件的图像。
就像这样在/resources/app.css
;
.arrow {
background-image: url('../img/icons/arrow.png');
}
当我跑步时npm run build
最终结果是一个包含 Base64 图像的 css 文件;
.arrow {
background-image: url(data:image/png;base64,xxxxxxxxxxxxxxxxxxxx);
}
然而,我想要的最终结果是 Vite 会将精确的图像复制并版本到/public/build/assets/img/icons/arrow.xxxxxxxxxx.png
处理后的CSS将是;
.arrow {
background-image: url('/build/assets/img/icons/arrow.xxxxxxxxxx.png);
}
弄清楚了。
事实证明,这实际上是 Vite 默认内联图像 build.assetsInlineLimit
export default defineConfig({
build: {
assetsInlineLimit: 0,
},
plugins: [
laravel([
'resources/css/app.scss',
]),
],
});
如文档中所述;
小于 assetInlineLimit 选项的字节数资产将内联为 base64 数据 URL。
https://vitejs.dev/guide/assets.html
https://vitejs.dev/config/build-options.html#build-assetsinlinelimit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)