如何获取部署到 Vercel 的 Next.js 项目中的目录路径?

问题描述 投票:0回答:1

在我的 Next.js 项目中,我使用 Fluent (https://project Fluent.org) 进行国际化。 Fluent 使用

.ftl
文件作为语言环境。

我的项目的抽象结构:

my-app/
├─ src/
│  ├─ app/
│  ├─ locales/
│  │  ├─ uk.ftl
│  │  ├─ fr.ftl
│  ├─ file.ts

如何从服务器端

locales
文件获取
file.ts
目录的路径?

需要注意的是,该项目部署在Vercel平台上。
我尝试使用

process.cwd() + '/src/locales'
,但收到错误
[Error]: ENOENT: no such file or directory, scandir '/var/task/src/locales'
。 — 这对我不起作用..

请不要建议将

locales
放在
public
目录中。

next.js vercel next.js14
1个回答
0
投票

事实证明,由于跟踪步骤和

locales
包,本地化文件(以及因此的
@vercel/nft
目录)丢失了。

解决了问题:

import path from 'path';

path.join(process.cwd(), '/src/locales')

此外,next.config.js 中的

output
参数对于查看构建中包含哪些文件也很有用。更多信息:https://nextjs.org/docs/app/api-reference/next-config-js/output

希望有人发现这很有用并节省时间。

© www.soinside.com 2019 - 2024. All rights reserved.