如何在 Next.js 中使用 next-env.d.ts 文件?

Ani*_*gya 12 enums typescript next.js

我注意到 Next.js 打字稿项目中有一个名为 next-env.d.ts 的文件。我想声明一些我可以在我的 Next.js 文件中使用的枚举。我如何做到这一点,然后在整个项目中访问这些枚举?

小智 14

next-env.d.ts 文件解释如下:https ://nextjs.org/docs/basic-features/typescript

一个名为 next-env.d.ts 的文件将在项目的根目录中创建。此文件可确保 TypeScript 编译器选择 Next.js 类型。您不能删除它,但是,您可以编辑它(但您不需要)。

对于您尝试使用枚举实现的目标,您可以将枚举导出为常规 ES 模块,以便您可以随时在代码中导入它。

希望有帮助。


DLi*_*ght 8

从 Next 11 开始,该next-env.d.ts文件的建议已更改,因为它现在在每个构建上重新生成。

您不应该编辑它,而应该为您自己的类型创建一个新文件并将其添加到您的tsconfig.json include.

但对于枚举,您不需要任何这些,只需在常规.ts文件中声明它并正常导入它们即可。

来源(对于旧文档,以下注释显然已从 v13.4.5 的文档中删除): https: //github.com/vercel/next.js/blob/v13.4.4/docs/basic-features/typescript。 md#现有项目

将在项目的根目录下创建一个名为 next-env.d.ts 的文件。该文件确保 TypeScript 编译器拾取 Next.js 类型。您不应删除或编辑它,因为它随时可能发生变化。该文件不应提交,并应被版本控制忽略(例如在 .gitignore 文件内)。

您可以通过添加新文件(例如additional.d.ts)来包含其他类型,而不是编辑 next-env.d.ts ,然后在 tsconfig.json 的 include 数组中引用它。

另请参阅: https: //github.com/vercel/next.js/issues/26533