Capítulo 259 de 456
Feature experimental que permite importar módulos diretamente de servidores externos (URLs) em vez de só do disco local, com um lockfile (next.lock) garantindo builds reproduzíveis e uma allowlist explícita de domínios confiáveis.
experimental.urlImports: array de prefixos de URL permitidos; qualquer import de URL precisa começar com um desses prefixos.next.lock: diretório com lockfile e assets baixados; deve ser commitado no Git, nunca no .gitignore.next dev baixa e adiciona novos URL imports descobertos ao lockfile; next build usa somente o lockfile (nenhuma rede necessária, exceto para recursos no-cache).module.exports = {
experimental: {
urlImports: ['https://example.com/assets/', 'https://cdn.skypack.dev'],
},
}
import confetti from 'https://cdn.skypack.dev/canvas-confetti'
import { useEffect } from 'react'
export default () => {
useEffect(() => {
confetti()
})
return <p>Hello</p>
}
import Image from 'next/image'
import logo from 'https://example.com/assets/logo.png'
export default () => (
<div>
<Image src={logo} placeholder="blur" />
</div>
)
next/image..gitignore ao diretório next.lock: quebra a reprodutibilidade do build; ele precisa estar versionado.url(), asset imports via new URL(...)).next build nunca faz rede a menos que o recurso tenha Cache-Control: no-cache, tudo vem do lockfile.