nextjs 项目的 公用文件夹 在哪里?
我的意思是,有什么地方可以放 favicon.png
,谷歌网站验证, manifest.json
, robots.txt
等等?
原文由 rap-2-h 发布,翻译遵循 CC BY-SA 4.0 许可协议
nextjs 项目的 公用文件夹 在哪里?
我的意思是,有什么地方可以放 favicon.png
,谷歌网站验证, manifest.json
, robots.txt
等等?
原文由 rap-2-h 发布,翻译遵循 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 许可协议
3 回答1.3k 阅读
2.2k 阅读
2 回答900 阅读
1 回答941 阅读
Next.js 有一个
public/
文件夹创建像
public/favicon.png
,public/robots.txt
这样的东西,这就是你所需要的。并将您的
static
文件夹放入public
以将您的资产保存在其中,并具有所有资产捆绑和压缩优势。文档