当前位置: 首页 > 面试题库 >

无法将SVG导入Next JS?

邹祺然
2023-03-14
问题内容

当我尝试导入SVG图像时,将显示以下错误。我必须使用哪个加载程序来导入SVG图像?

./static/Rolling-1s-200px.svg 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000"><filter id="b"><feGaussianBlur stdDeviation="12" /></filter><path fill="#817c70" d="M0 0h2000v2000H0z"/><g filter="url(#b)" transform="translate(4 4) scale(7.8125)" fill-opacity=".5"><ellipse fill="#000210" rx="1" ry="1" transform="matrix(50.41098 -3.7951 11.14787 148.07886 107 194.6)"/><ellipse fill="#eee3bb" rx="1" ry="1" transform="matrix(-56.38179 17.684 -24.48514 -78.06584 205 110.1)"/><ellipse fill="#fff4bd" rx="1" ry="1" transform="matrix(35.40604 -5.49219 14.85017 95.73337 16.4 123.6)"/><ellipse fill="#79c7db" cx="21" cy="39" rx="65" ry="65"/><ellipse fill="#0c1320" cx="117" cy="38" rx="34" ry="47"/><ellipse fill="#5cb0cd" rx="1" ry="1" transform="matrix(-39.46201 77.24476 -54.56092 -27.87353 219.2 7.9)"/><path fill="#e57339" d="M271 159l-123-16 43 128z"/><ellipse fill="#47332f" cx="214" cy="237" rx="242" ry="19"/></g></svg>

问题答案:

您需要提供一个可处理SVG导入的webpack加载器,其中著名的一种是svgr。

为了对其进行配置,您需要将加载next.config.js程序的用法添加到文件中,如下所示:

// next.config.js

module.exports = {
  webpack(config) {
    config.module.rules.push({
      test: /\.svg$/,
      issuer: {
        test: /\.(js|ts)x?$/,
      },
      use: ['@svgr/webpack'],
    });

    return config;
  },
};

有关更多配置信息,请查看docs。

不要忘记 先安装它:npm install@svgr/webpack

编辑

我添加了issuer将这些svg严格限制为仅适用于从js / ts文件导入的svg的部分。这使您可以配置svg从其他文件类型(例如.css)导入的的其他行为



 类似资料:
  • Traceback(最近一次调用最后一次):文件"C:\用户\George Adamopoulos\Anaconda3\envs\计算机视觉代码\lib\site-pack\tenorflow\python\pywrap_tensorflow.py",第58行,来自tensorflow.python.pywrap_tensorflow_internal导入*文件"C:\用户\George Adam

  • 我试图从djangotoolbox.fields使用Listfield,但它给我一个错误说: 我做错了什么?

  • 问题内容: 我对Firebase和构建iOS应用程序完全陌生。在Xcode 7中,我试图将Firebase导入我的Swift类。在一个快速文件中,我键入了“ import Firebase”。 我收到一个错误消息,说 “没有这样的模块’Firebase’” 任何帮助将不胜感激。 问题答案: 有两种安装Firebase的方法:手动安装和通过CocoaPods安装。 我建议使用CocoaPods。在中

  • 问题内容: 我已经开始编写可以在Google App Engine上运行的应用程序。 但是,当我想使用从Netbeans到Eclipse的代码时,出现以下错误: 和 错误是: 我尝试将Eclipse导入到Eclipse中,但还是一样,还尝试构建和清理项目。我不在Eclipse上使用Tomcat,而仅在Netbeans上使用它。我该如何解决这个问题? 问题答案: 我尝试将servlet-api.ja

  • 我觉得我把一切都安排好了。我遵循这些指示。 并从tar文件安装。 我的主目录现在有一个文件夹“gsutil”。我运行了配置来为oauth2设置我的应用程序,并且能够从命令行调用gsutil。为了使用gsutil和Google App Engine,我在我的主目录中的.bashrc文件中添加了以下行,并将其来源化: 但是,当我尝试导入我的python脚本: 或者类似这样的东西(直接从留档)。 我得到

  • 在添加vaadin依赖项后,我刚刚尝试导入PropertysetItem,但无法导入。有人能帮我找到正确的依赖吗