首页 文章

如何在Webpack中加载SVG图像?

提问于
浏览
8

我想在Webpack中使用svgo-loader加载SVG文件,但是我收到以下错误:

./~/css-loader?modules&localIdentName=[name][local][hash:base64:5]! . /〜/ autoprefixer-loader! . /〜/ without-loader! . / demo / src / component找不到/App/components/Header/Header.less模块:错误:无法解析/ Users / mishamoroshko / react-autosuggest / demo / src / components / App / components / Header @ ./~/中的模块'logo.svg' CSS-装载机模块&localIdentName = [名称] [本地] [散列:BASE64:5]?!!./〜/ autoprefixer装载机./〜/更少装载机./演示/ SRC /组件/应用/组件/页眉/ Header.less 6:199-218错误在./demo/src/components/App/components/Header/Header.less模块构建失败:ModuleNotFoundError:找不到模块:错误:无法解析/ users中的模块'logo.svg' / mishamoroshko /反应-自动提示/演示/ SRC /组件/应用/组件/头

这是相关的代码位:

Webpack config

module: {
  loaders: [
    {
      test: /\.less$/,
      loader: ExtractTextPlugin.extract('style', 'css?modules&localIdentName=[name]__[local]___[hash:base64:5]!autoprefixer!less'),
      exclude: /node_modules/
    },
    {
      test: /\.svg$/,
      loader: 'url?limit=8192!svgo'
    },
    ...
  ]
}

package.json

"svgo": "^0.6.1",
"svgo-loader": "^1.1.0",
"url-loader": "^0.5.7",
...

Header.less

.logo {
  background-image: url(./logo.svg);
}

logo.svgHeader.less 位于同一目录中 .

我在这里想念的是什么?


To reproduce:

1. git clone git@github.com:moroshko/react-autosuggest.git
2. cd react-autosuggest
3. git checkout a5f1a99
4. npm install
5. npm start

1 回答

  • 5

    This css-loader issue似乎有关系 .

    作为解决方法,改变:

    background-image: url(./logo.svg);
    

    至:

    background-image: url(../parent-folder/logo.svg);
    

    解决了这个错误 .

相关问题