1

我收到此错误:

错误:图像缺少 src 属性。

我不确定出了什么问题,因为它与我拥有的代码一起使用。在我关闭 vscode 并再次打开它之后,错误发生了。这是我的代码:

导航栏.js

import React from "react";
import Link from "next/link";
import Image from "next/image";
import Logo from "../components/svg_logo.svg";

export default function Navbar() {
  return (
    <nav className="bg-transparent">
      <div className="max-w-6xl mx-auto px-4 pt-1.5">
        <div className="flex justify-between">
          <div className="flex space-x-4">
            <div>
              <Link href="#">
                <a className="flex items-center py-5 px-2 select-none text-gray-700 text-2xl hover:text-gray-900">
                  <Image src={Logo} alt="logo" height={30} width={30} />
                  <span className="font-bold text-white">Logo</span>
                </a>
              </Link>
            </div>
          </div>
        </div>
      </div>
    </nav>
  );
}

下一个配置.js

module.exports = {
  reactStrictMode: true,

  webpack(config) {
    config.module.rules.push({
      test: /\.svg$/,
      use: ["@svgr/webpack"]
    });

    return config;
  }
}
4

1 回答 1

2

我删除了不需要的webpack configfrom设置。您可以通过两种方式显示您的徽标,直接 from或from ,两者都可以正常工作,如下所示:next.config.js svgImage srcimportLogo

例子.js

import Link from "next/link";
import Image from "next/image";
import Logo from "../public/images/nextjs.svg";

function ExamplePage() {
  return (
    <nav className="bg-green-600">
      <div className="max-w-6xl mx-auto px-4 pt-1.5">
        <div className="flex justify-between">
          <div className="flex space-x-4">
            <div>
              <Link href="#">
                <a className="flex items-center py-5 px-2 select-none text-gray-700 text-2xl hover:text-gray-900">
                  <Image
                    // src="/images/nextjs.svg"
                    src={Logo}
                    alt="logo"
                    height={60}
                    width={60}
                  />
                  <span className="font-bold text-white">Logo</span>
                </a>
              </Link>
            </div>
          </div>
        </div>
      </div>
    </nav>
  );
}

export default ExamplePage;

next.config.js我删除了webpack(config)

module.exports = {
  reactStrictMode: true,
};

项目文件夹和文件结构:

在此处输入图像描述


输出:

在此处输入图像描述

用“next”测试:“12.0.7”,“react”:“17.0.2”,“tailwindcss”:“^3.0.5”

于 2022-01-04T12:28:42.497 回答