urlImports
URL 导入是一个实验性功能,它允许你直接从外部服务器导入模块 (而不是从本地磁盘)。
警告:只使用你信任的域名来下载和执行代码。在该功能被标记为稳定之前,请谨慎使用。
要启用这个功能,在 next.config.js
中添加允许的 URL 前缀:
然后,你就可以直接从 URL 导入模块:
URL 导入可以在任何支持普通包导入的地方使用。
这个功能在设计时将安全性作为最高优先级。首先,我们添加了一个实验性标志,强制你明确允许可以进行 URL 导入的域名。我们正在进一步努力,通过使用 Edge Runtime 将 URL 导入限制在浏览器沙箱中执行。
当使用 URL 导入时,Next.js 将创建一个包含锁文件和已获取资源的 next.lock
目录。
这个目录必须提交到 Git,不能被 .gitignore
忽略。
- 运行
next dev
时,Next.js 将下载并将所有新发现的 URL 导入添加到锁文件中。
- 运行
next build
时,Next.js 将只使用锁文件来构建生产环境的应用。
通常情况下,不需要网络请求,任何过期的锁文件都会导致构建失败。
一个例外是响应头包含 Cache-Control: no-cache
的资源。
这些资源在锁文件中会有一个 no-cache
条目,并且在每次构建时都会从网络重新获取。