0

我想在我的 next.js 项目中有内联 png 图像。由于这不是本机支持的功能,因此我正在使用该next-images库。

这是我的next.config.js

const withImages = require('next-images')
module.exports = withImages()

问题不是图像导入,而是所有其他导入:该代码破坏了.jsx我项目中的所有绝对导入。

关于如何解决这个问题的任何想法?

4

2 回答 2

1

正如上面提到的@juliomalves 用户,答案在 Next.js 官方文档的这个链接上。

基本上,这个问题分两步解决:

  1. 添加jsconfig.json文件(如果您使用的是 Typescript,则应tsconfig.json改为使用)。

  2. 将所有绝对路径从/components/Somethingto更改为components/Something(换句话说,删除第一个正斜杠)。

于 2021-07-07T22:47:41.550 回答
0

的默认行为next/image将添加/_next/image?url=到 image 的任何绝对 URL src

一种解决方法是使用imgix loader并将路径设置为''

// next.config.js
module.exports = {
  images: {
    domains: ['yourServer.com'],
    path: '',
    loader: 'imgix',
  },
}

根据设计,从源代码添加root = '/_next/image?url=...'到任何绝对 URL srchttps ://github.com/vercel/next.js/blob/f81a6a5f0fc3a33a51112d4d3261d431e704b0da/packages/next/client/image.tsx#L862

为什么?

这有点奇怪,不同于 HTML 的<image src="">行为,也让用户感到困惑。

可以关注https://github.com/vercel/next.js/issues/19206进行跟进

于 2022-01-22T12:51:10.293 回答