当前位置: 首页 > 知识库问答 >
问题:

使用汇总包在SCSS中添加背景图像?

贡英华
2023-03-14

我无法将scss文件中的图像路径用作具有汇总包的背景
我的汇总配置如下所示。

import typescript from 'rollup-plugin-typescript2';
import commonjs from 'rollup-plugin-commonjs';
import external from 'rollup-plugin-peer-deps-external';
import resolve from 'rollup-plugin-node-resolve';
import scss from 'rollup-plugin-scss';
import image from 'rollup-plugin-img'; // module solves image add in source
import pkg from './package.json';

export default {
  input: 'src/index.tsx',
  output: [
    {
      file: pkg.main,
      format: 'cjs',
      exports: 'named',
      sourcemap: true,
    },
    {
      file: pkg.module,
      format: 'es',
      exports: 'named',
      sourcemap: true,
    },
  ],
  plugins: [
    image({
      extensions: /\.(png|jpg|jpeg|gif|svg)$/,
      limit: 10000
    }),
    scss(),
    external(),
    resolve({
      broswer: true
    }),
    typescript({
      rollupCommonJSResolveHack: true,
      exclude: '**/__tests__/**',
      clean: true,
    }),
    commonjs({
      include: ['node_modules/**'],
      namedExports: {
        'node_modules/react/react.js': ['Children', 'Component', 'PropTypes', 'createElement'],
        'node_modules/react-dom/index.js': ['render'],
      },
    })
  ],
};

我试图在scss中添加一个图像路径。

.chipsComponent > div:last-child {
  background: url("/assets/images/Close_Circle.svg") no-repeat;
  background-size: cover;
  height: 16px;
  width: 16px;
  float: right;
  cursor: pointer;
}

图像路径正在浏览器中添加,但汇总不服务于资源文件夹。附加的斯克雷森霍特

图像应该以圆圈筹码(红色)显示。
我是否在汇总配置中遗漏了任何内容或scss图像使用错误?提前感谢

共有1个答案

慕容恩
2023-03-14

下面的scss行实际上并没有导入图像:

background: url("/assets/images/Close_Circle.svg") no-repeat;

rollup pluginrollup plugin img依赖于通过导入声明使用的资源,比如在js文件中:

import logo from './rollup.png';

你有两个选择:

  1. 编写您自己的SCSS处理器插件,解析url(...)引用以将资产复制到您的bundle目录中。
  2. 使用更手动的汇总插件,例如汇总-插件-复制。

使用rollup plugin copy可以在汇总配置中使用以下代码:

plugins: [
  copy({
    targets: [
      { src: 'src/assets/images', dest: 'dist/assets/images' },
    ],
  }),

这会将源文件夹中的所有图像复制到包输出。

 类似资料:
  • 问题内容: 我有一个正在编写的CSS页面,我需要在一个类中应用背景图像,然后使用另一个类将一个局部透明的背景图像放在已经存在的背景图像之上。这只是一个简单的字眼,所以让我做一个示范。 在此示例中,第一个div应该具有背景图像1,第二个div应该具有背景图像1,但是滤镜图像位于其顶部,然后第三个div应该是图像2,第四个应该是图像2并且上面具有相同的滤镜。 但是,在此示例中,.backgroundF

  • 问题内容: 此处已触及该主题,但未提供有关如何创建3D图并在平面中以指定高度插入图像的指示。 因此,要提出一个简单且可复制的案例,假设我使用以下代码创建了一个3D图: 在视觉上,我们有: 在级别上,这里是避免重叠的视觉偏移, 我想插入一张图像, 表示曲线显示特定值的元素。 怎么做? 在此示例中,我并不关心元素与其值之间的完美匹配,因此请随时上传您喜欢的任何图像。另外,如果对匹配不满意,有没有办法让

  • 问题内容: 如何使用ngStyle添加背景图片?我的代码不起作用: 问题答案: 我认为您可以尝试以下方法: 通过阅读您的表情,我想您错过了一些“’” …

  • 问题内容: 当我尝试通过在Java的Jbutton中转到其属性然后添加图标来添加背景时,它会设置按钮的背景,但是我在按钮上编写的文本会向右移动(在按钮区域之外)。解决方案? 问题答案: 据我了解,您不是在设置背景,而是在此将Icon设置为button。这就是为什么您在右侧看到“图像”而在左侧看到文本的原因。要将图像作为背景添加到按钮,您需要覆盖方法并在其中绘制图像。

  • 我很好奇是否有任何简单的方法来添加背景,行颜色和图像使用单独的配置。我不希望像CellPainterWrapper示例那样将它们组合成1个配置,因为我希望分离两者之间的逻辑。我当前的代码既适用于图像,也适用于背景色,但我不能两者都做(最上面的配置会覆盖最下面的配置)。下面是我的片段: 我最后做了类似于下面的事情来使它工作: