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



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

next-env.d.ts文件在这里进行了解释:https://nextjs.org/docs/basic-features/typescript

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

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

希望能有所帮助。

从Next 11开始,对next-env.d.ts文件的建议已经更改,因为它现在在每次构建时都会重新生成。

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

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

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

将在项目根目录下创建一个名为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

最新更新