当前位置: 首页 > 知识库问答 >
问题:

前端 - 请问为何很多地方说声明全局变量要使用到.d.ts文件呢?

公孙联
2023-05-18

定义全局变量的时候,需要用到.d.ts文件吗?

我有一个全局变量文件:
global/global.ts

import { PrismaClient } from "@prisma/client";

export const prisma = new PrismaClient()

在使用的时候:

test.ts


import { prisma } from './global/global'

export async function main() {

  const res = await prisma.post.findMany({
    skip:4,
    take:10
  })
  return res 
}

是可以不用到 prisma.d.ts 文件去declare声明变量prisma的。
请问为何很多地方说声明全局变量要使用到.d.ts文件呢?

共有1个答案

令狐嘉运
2023-05-18
声明文件
当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示、辅助TS编译器进行类型判断等功能。

*.d.ts 的文件只是在开发时,用来定义声明的,用于接口提示和代码补全等。

他跟你运行时需要的声明无关。

  • 声明文件 · TypeScript 入门教程
 类似资料:
  • 问题内容: 我需要所有文件中都需要的一些全局变量。 例如,考虑以下4个文件: 考虑到我将上述所有4个文件都加载到HTML文档中,有没有一种方法可以在其中声明3个全局变量并在其他3个文件中的任何一个中访问它们? 有人可以告诉我是否可行,还是可以解决这个问题? 问题答案: 只需在函数范围之外的global.js中定义变量: 为确保此方法有效,您必须先包含/链接到global.js,然后再尝试访问该文件

  • 问题内容: 我想制作一个可以在整个应用程序中访问的自定义对象的全局数组(AppDelegate,ViewController类,TableViewController类等)。我已经研究了一种解决方法,但没有找到答案。我曾尝试将数组设置为公共范围,但是收到了编译器警告,提示当我尝试在其他文件中访问该数组时,出现错误提示 我将如何使该数组可被应用程序中的所有文件全局访问,我将在哪里实例化该数组? 问题

  • 问题内容: 如何在JavaScript中声明全局变量? 问题答案: 如果必须在生产代码中生成全局变量(应避免使用),请 始终 明确 声明它们: 虽然可以通过省略来定义全局变量(假设没有同名的局部变量),但这样做会生成 隐式 全局,这是一件不好的事情,并且在 严格模式下 会产生错误。

  • 我在typescript中声明了一个全局变量,类似于:global。test=“something”我尝试这样做,我得到错误属性“test”在类型“Global”上不存在。

  • 问题内容: 我在一个组件(在应用程序中加载的第一个组件)中初始化了翻译对象。所有其他组件都需要相同的对象。我不想在每个组件中重新初始化它。怎么回事?使它可用于窗口范围并没有帮助,因为我需要在方法中使用它。 请提出针对这些问题的通用解决方案,而不是针对国际的解决方案。 问题答案: 为什么不尝试使用Context? 您可以在任何父组件中声明一个全局上下文变量,并且可以在组件树中通过来访问此变量。您只需

  • 问题内容: 我有这样的代码: 有什么方法可以在一处定义全局变量并使所有函数一次访问该变量?不利用更多? 问题答案: 该数组可以代替使用: 从手册: 包含对所有变量的引用的关联数组,这些变量当前在脚本的全局范围内定义。变量名是数组的键。 如果您有一组需要一些公共变量的函数,那么带有属性的类可能是一个不错的选择,而不是全局的: