【问题标题】:Setting original logo in GatsbyJs template在 GatsbyJs 模板中设置原始徽标
【发布时间】:2022-01-24 10:24:31
【问题描述】:

我正在学习 GatsbyJS。我用这个很酷的模板

https://www.gatsbyjs.com/starters/LekoArts/gatsby-starter-portfolio-jodie

我一直在尝试更改我原来的徽标,我在下面写道。 似乎第二行很好。但标志不会出现。 并且在此徽标期间发生的另一件事以某种方式更改了 datsby 开发命令停止了。 当我在编辑句子时很好。但是当我开始改变标志时,盖茨比开发经常停止。请教教我好吗?

更新

当前错误

ValidationError:配置对象无效。 Webpack 已使用 con 初始化 与 API 架构不匹配的图形对象。

  • configuration.module.rules[10].exclude:提供的值“src/@lekoarts/gatsby-the me-jodie/icons/svg/" 不是绝对路径!

gatsby-config.js

  {
    resolve: "gatsby-plugin-react-svg",
    options: {
      rule: {
        include: "src/@lekoarts/gatsby-theme-jodie/icons/svg/"
      },
    },
  },

logo.jsx

import * as React from "react"

const Logo = () => (
  <svg viewBox="0 0 150 150">
    <title>home</title>
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="..."
    />
  </svg>
)

export default Logo

【问题讨论】:

  • 也许不要将 your 组件命名为与您导入的相同的东西。
  • 亲爱的@Drew Reese 谢谢你回答我。很抱歉迟到了。现在我尝试使用 Ferran Buireu 先生教我的插件方式。并更新我的代码。 ... 仍然没有显示我的徽标。

标签: reactjs gatsby


【解决方案1】:

您声明的组件 (Logo) 与导入的资产 (import {ReactComponent as Logo} from './logo.svg', 命名为 as Logo) 同名。

首先,尝试更改名称,例如:

import * as React from "react"
import {ReactComponent as Logo} from './logo.svg'

const LogoComponent = () => (
  <svg viewBox="0 0 150 150">
    <title>newlogo</title>
    <path
      fillRule="evenodd"
      clipRule="evenodd"      
    />
    <Logo />
  </svg>
)

export default LogoComponent

还有其他方法可以使用插件在 Gatsby 项目 (Import SVG as a component in Gatsby) 中导入 SVG 资源。如果出现问题,您可能需要查看一下。

【讨论】:

  • 加载 SVG 时最好使用插件来提供内置支持。关注stackoverflow.com/questions/61158924/…,使用gatsbyjs.org/packages/gatsby-plugin-react-svg
  • 亲爱的@Ferran Buireu,抱歉迟到了。我更新。你能看看我当前的代码吗?我做了什么安装插件并将svg文件保存到路径中。我只保存这个svg。我修复了我的 logo.jsx,但没有任何改变。我调整代码但出现错误。你能教我下一步吗?
  • 你的 logo 需要像 import Icon from "./path/assets/icon.svg 这样的 React 组件导入并直接使用 &lt;Icon /&gt; 显示。您可能需要应用一些样式或提供一些宽度以根据需要显示它
  • 另外,如果你仔细阅读,你会发现你不需要添加路径而是名称文件夹。 test 是一个正则表达式
  • 亲爱的@Ferran Buireu 再次感谢您。我从 "src/@lekoarts/gatsby-theme-jodie/icons/svg/logo.svg" 和 添加导入图标,但出现错误。我一直在尝试调整代码,但又遇到了另一个错误。你能教我正确的代码吗?我还有一个问题。我更改了代码并执行了 [gatsby develop] 命令,但我必须等待大约 1 分钟。当我遇到一些错误或当我更改代码并成为语法错误或我的 gatsby 开发时停止。我做错了吗?有什么快速查看调试和开发的方法吗?
猜你喜欢
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 2017-08-01
  • 2020-01-26
相关资源
最近更新 更多