如何在汇总中处理svg导入(ES6)

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

如果我将svg文件导入ES6模块,我该如何处理汇总?我目前有类似的东西(我正在做的简单例子):

import next from '../assets/next.svg';
export default () => console.log('Here is some Svg: ! ', next);

我有一个如下所示的汇总配置:

import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';

export default {
  entry: 'src/app.js',
  dest: 'build/app.min.js',
  format: 'iife',
  sourceMap: 'inline',
  plugins: [
    babel({
      exclude: 'node_modules/**',
    }),
    resolve({
      jsnext: true,
      main: true,
      browser: true,
    }),
    commonjs(),
  ],
};

然后我收到以下错误:

无法从/home/magnferm/projects/slask/rollup-test/src/chill/index.js解析'../assets/next.svg'

路径没有任何问题,但汇总似乎不知道如何处理svg文件。有没有我可以使用的插件,或者我必须以某种方式对待它?

javascript node.js svg rollup
1个回答
1
投票

当然,它有一个插件。它被称为rollup-plugin-image,它处理其他格式的.svg导入:

import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import image from 'rollup-plugin-image';

export default {
  entry: 'src/app.js',
  dest: 'build/appn.min.js',
  format: 'iife',
  sourceMap: 'inline',
  plugins: [
    babel({
      exclude: 'node_modules/**',
    }),
    resolve({
      jsnext: true,
      main: true,
      browser: true,
    }),
    commonjs(),
    image()
  ],
};
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.