我是网络开发的新手.这可能是一个愚蠢的问题,但在查阅了无数页后,我想不出来,所以我鼓起勇气问.

我已经用Next.js v13.3构建了源代码,但是图像路径变得奇怪了.在开发模式下,图像清晰地显示得很好,但在生产中不起作用.

这是我的next.config.js%文件:

/** @type {import('next').NextConfig} */

const nextConfig = {
  reactStrictMode: true,
  experimental: {
    appDir: true,
  },
  distDir: "out",
  output: "export",
};

module.exports = nextConfig;

我也试过这个.

  images: {
    loader: "imgix",
    path: "",
  },

我的图像都在公共文件夹中,路由工作正常.构建后,图像的部分源代码如下所示:

enter image description here

如果您运行NPM Run Start并删除输出:"EXPORT",它应该工作得很好.但是,我需要将其部署到Cloudflare页面,因此需要将其设置为静态的HTML文件.还有什么我可以在这里试一试的吗?

请帮我解决这个问题.感谢您的阅读!

我已经try 更改next.config.js文件中的base url和输出变量,并在其他地方进行了搜索,但我找不到解决方案.

推荐答案

自答式

对我来说,最好的方法是使用图像加载器,然后编写一个引用该路径并返回它的函数.

我之所以使用图像加载器而不是使用img标记,是因为我可以在以后需要优化图像时删除该函数.

然而,你的回答也很有帮助,因为我甚至不知道有图像优化这件事.

非常感谢你们,也感谢你们欢迎我加入这个社区.

ImageLoader.js in root directory

export default function ImageLoader({ src }) {
  return `https://example.com/${src}`;
}

next.config.js file

const nextConfig = {
  experimental: {
    appDir: true,
  },
  distDir: "out",
  output: "export",
  images: {
    loader: "custom",
    loaderFile: './ImageLoader.js'
  },
};

Reactjs相关问答推荐

更新数据时有关CQR和更新UI的问题

阻止在ShadCN和React中的FormLabel中添加 colored颜色

在迁移到Redux—Toolkit 2.0和Redux5.0之后,我在extraReducer和Slice方面有点挣扎,

条件索引路由

如何使Reaction Select 选项菜单从选项数组的特定索引开始

无法找出状态正在被更改的位置

使用VITE的Reaction应用程序的配置是否正确?

如何通过reactjs正确显示记录

React,当我调用handleSubmit()函数时,我正在将application/json和multiform/data中的数据发送到后端,但student_image中没有数据:null

React 错误无法读取未定义的属性(读取id)#react

在 React 中,如何在指向同一组件的路由中拥有未定义数量的多个动态路径段?

当 URL 与我声明的任何路由都不匹配时,如何使用不会重定向到错误页面的动态 URL? - react 路由 dom

React 无效的钩子调用:如何避免嵌套钩子?

无法设置 null 的属性(设置src)

使用登录保护 React 中的 SPA 应用程序 - 为什么这种方法不起作用?

如何使用 redux 和 react-plotly.js

如何通过 React JS 中的映射将新元素添加到对象数据数组中

React Router v6 - 访问嵌套路由和处理手写 url 的正确方法

由于另一个子组件,如何在react 中渲染另一个子组件

警告:您在没有 `onChange` 处理程序的情况下为表单字段提供了 `value` 属性