UI-UX/next.config.ts
iye 15af8e1781
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5m10s
fix(image): disable next/image optimization for TOS-hosted assets
桶里资源已是 webp + 预压缩 + CDN, 不需要 Next 16 再做一次 image 优化:
- images.unoptimized=true: 直接走 <img src="https://..."/>, 浏览器走自己网络栈
- 顺带绕过 dev 时 fake-IP 代理 (Clash/V2Ray TUN 返回 198.18.0.x) 触发的
  "resolved to private ip" 拦截
- remotePatterns 保留 (Next 16 即便不优化仍校验域名白名单)

生产 CPU 占用也省了, 不需要在 origin 再编码 webp。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:43:52 +08:00

24 lines
966 B
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// 关闭左下角的开发指示器dev overlay 角标)
devIndicators: false,
// 容器化部署:产出精简的 standalone 包node server.js 启动)
output: "standalone",
// next/image 配置
// - unoptimized: 关闭服务端 image 优化代理。资源已在 TOS 桶里是 WebP + 适配尺寸,
// 走 CDN,无需 Next.js 再编码一次。还能绕过 dev 时 fake-IP 代理(Clash/V2Ray TUN
// 返回 198.18.x.x)被 Next 16 拒绝 fetch 的问题。
// - remotePatterns: 即便不优化,Next 16 仍会校验远程域名白名单,保留 TOS + CDN 域名。
images: {
unoptimized: true,
remotePatterns: [
{ protocol: "https", hostname: "*.tos-cn-shanghai.volces.com" },
{ protocol: "https", hostname: "*.tos-cn-beijing.volces.com" },
{ protocol: "https", hostname: "*.volccdn.com" },
],
},
};
export default nextConfig;