如何将rollup'd CSS中的url(...)替换为数据URI?

问题描述 投票:4回答:1

使用rollup和postcss插件,我可以将CSS注入到我的bundle中。但是,我的CSS引用了一些图片文件,例如:. background-image: url(./images/my-image.svg);.

我如何配置postcssrollup来替换CSS的实例?url(...) 的数据URI,从而将SVG嵌入到bundle中?

javascript css bundling-and-minification rollupjs
1个回答
2
投票

你可以使用 postcss-url 插件来实现这一目的。

安装 postcss-url 插件到你的项目中,并将其添加到你的rollup配置中的postcss插件数组中。


const url = require("@rollup/plugin-url");
const postcss = require("rollup-plugin-postcss");

export default {
  plugins: [
    postcss({
      plugins: [
        url({
          url: "inline", // enable inline assets using base64 encoding
          maxSize: 10, // maximum file size to inline (in kilobytes)
          fallback: "copy", // fallback method to use if max size is exceeded
        }),
      ],
    }),
  ],
};


你可以根据自己的需求定制回退机制。

© www.soinside.com 2019 - 2024. All rights reserved.