使用 new Image() 预加载图片 url
Preload image urls using new Image()
我正在尝试在我的照片库中预加载或预取远程图像,但 new Image()
似乎与 nextjs 的 next/image
冲突。
这段代码在我迁移到 nextjs 之前(使用 CRA)工作正常。
const img = new Image();
img.src = photoToPreload.largeUrl;
非常感谢任何建议。
您可以尝试为 Next.js 的 Image
版本提供一个不冲突的别名(或者使用自定义 Image
导入的其他方式):
// CommonJS style
const { default: NextImage } = require("next/image");
// ES module style
import NextImage from "next/image";
// alternatively
import { default as NextImage } from "next/image";
您可以将 next/image
的导入名称更改为另一个名称,例如
import NextImage from 'next/image'
这将帮助您为您的原创内容保留名称Image
但我认为您可以用 next/image
以更好的方式实现相同的目的
您只需将 priority
道具添加到您的 NextImage
<NextImage {...otherProps} priority={true}/>
它将生成 preload
link 以将您的图片作为重要资源预加载。此外,您可以利用 next/image
包中的其他优化内容。
我正在尝试在我的照片库中预加载或预取远程图像,但 new Image()
似乎与 nextjs 的 next/image
冲突。
这段代码在我迁移到 nextjs 之前(使用 CRA)工作正常。
const img = new Image();
img.src = photoToPreload.largeUrl;
非常感谢任何建议。
您可以尝试为 Next.js 的 Image
版本提供一个不冲突的别名(或者使用自定义 Image
导入的其他方式):
// CommonJS style
const { default: NextImage } = require("next/image");
// ES module style
import NextImage from "next/image";
// alternatively
import { default as NextImage } from "next/image";
您可以将 next/image
的导入名称更改为另一个名称,例如
import NextImage from 'next/image'
这将帮助您为您的原创内容保留名称Image
但我认为您可以用 next/image
以更好的方式实现相同的目的
您只需将 priority
道具添加到您的 NextImage
<NextImage {...otherProps} priority={true}/>
它将生成 preload
link 以将您的图片作为重要资源预加载。此外,您可以利用 next/image
包中的其他优化内容。