Nextjs 公用文件夹

新手上路,请多包涵

nextjs 项目的 公用文件夹 在哪里?

我的意思是,有什么地方可以放 favicon.png ,谷歌网站验证, manifest.jsonrobots.txt 等等?

原文由 rap-2-h 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

Next.js 有一个 public/ 文件夹

创建像 public/favicon.pngpublic/robots.txt 这样的东西,这就是你所需要的。

并将您的 static 文件夹放入 public 以将您的资产保存在其中,并具有所有资产捆绑和压缩优势。

 /public
    /static
        /images
        /css
        /fonts
    robots.txt
    manifest.json

文档

原文由 Praphan Klairith 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于 web 进程,/public 中的任何内容都在 url 中很容易。但是,如果您尝试访问 nextjs 服务器端的文件(在静态异步 SSR 之一中,或作为 API 调用)——因为那里的路径似乎需要是绝对路径。要访问它,您需要在构建时捕获运行目录,然后访问它。

下一个.config.js:

 module.exports = {
    serverRuntimeConfig: {
        PROJECT_ROOT: __dirname
    }
}

以及获取服务器端路径的帮助程序:

 import path from 'path'
import getConfig from 'next/config'

const serverPath = (staticFilePath: string) => {
  return path.join(getConfig().serverRuntimeConfig.PROJECT_ROOT, staticFilePath)
}

export default serverPath

原文由 BadPirate 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进