首页 >web前端 >js教程 >Tnv源码中的ClientOptions接口解释

Tnv源码中的ClientOptions接口解释

Barbara Streisand
Barbara Streisand原创
2024-12-01 03:44:08474浏览

在本文中,我们分析了 T3 Env 中的函数 createEnv 参数中为客户端对象提供的 ClientOptions 接口。下面提供了 t3-env 的简单用法:

我们有兴趣找出客户端对象的类型/接口。

马上,我就可以看出我们可以按照 Record 的方式期待这种类型,但是 t3-env 定义的方式是不同的。看看下面从 T3 Env 源代码中选取的类型。

您会发现它使用泛型类型,而 TClient 的类型为 Record,但客户端没有此类型,而是进行了检查以确保客户端中定义的密钥以您定义的任何内容为前缀。在 ClientPrefix 中定义。

例如,您已将前缀定义为“NEXT_PUBLIC_”,并且尝试使用不以“NEXT_PBULIC_”为前缀的键定义某个变量,您将看到一条错误消息“{variable} is not前缀为“NEXT_PBULIC_”

这在像 Next.js 这样的框架中非常强大,您不想意外地将服务器端变量暴露给客户端。

检查此文档 - https://env.t3.gg/docs/core#create-your-schema,这讨论了前缀错误。

关于我们:

在 Thinkthroo,我们研究大型开源项目并提供架构指南。我们开发了使用 Tailwind 构建的可重用组件,您可以在项目中使用它们。我们提供 Next.js、React 和 Node 开发服务。

与我们预约会面讨论您的项目。

ClientOptions interface in Tnv source code explained

参考资料:

  1. https://github.com/t3-oss/t3-env/blob/main/packages/core/src/index.ts#L130

  2. https://env.t3.gg/docs/core#create-your-schema

以上是Tnv源码中的ClientOptions接口解释的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn