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

javascript - 如何在index.d.ts中为同级文件夹中的js文件编写类型代码?

龚玄天
2024-06-19

如何在index.d.ts中为同级文件夹中的js文件编写类型代码,使得在其他项目使用时鼠标悬浮能看到类型?

我直接 declare js 文件导出的函数类型,在其他地方引用时没有类型提示,只有 import Fnc

image.png

test 比做一个工具库,我希望在 main.js 中引入test/index.js 中的函数或其他值时,能有类型提示,那么 index.d.ts中应该如何编写。

注:index.js 中已经导出 test 文件夹下所有的函数及变量

共有2个答案

陶璞
2024-06-19

其实这边建议写成ts,然后可以让类型代码通过ts编译工具来生成,tsconfig.json有个配置,如下所示:

{  "compilerOptions": {    // 其它配置    "declaration": true, // 这个配置用于生成  },}

然后执行tsc命令就可以生成ts类型定义了。

羊舌勇
2024-06-19

index.js:

export function add(a, n = 1) {    return a + n}

index.d.ts:

export function add(a: number, n?: number): number

main.ts:

import { add } from './test'// (a: number, n?: number | undefined) => numbertype T = typeof add
 类似资料:
  • 我在利用MagickNET和C#控制台。下面的代码找到所有的文件,然后将其转换为。 现在,我想把.eps和.jpg分开。例如: 文件夹内容: 图1.每股收益 在执行循环之后。文件夹的内容将是: image1.eps image2.eps image1.jpg image2.jpg 我将如何放置. jpg在不同的文件夹?

  • 希望在节点JS中使用writefile将数据写入特定文件夹。 我在stackoverflow中看到过几个关于这个问题的问题,但没有一个对我有效。

  • 假设是Spark中的一个数据文件。将写入单个CSV文件的方法是 任何帮助都很感激。

  • 我想问一下如何使用Java知道目录/文件夹中的文件/文件类型。问的原因是,目前,我有一个情况,将有两个不同类型的文件存在于文件夹中,其中一个是基于Java的,另一个是Python。我想使用Java作为一种语言,以编程方式检查解压缩文件夹中的类型文件是python(.py)还是Java(.Java)。你知道怎么做吗?有什么建议吗?在同一文件夹中不可能有两种类型的文件。话虽如此,该文件要么全部在Jav

  • 我有一个用 PhpStorm 管理的 TypeScript 项目。所有 ts 文件都被正确识别为打字稿文件,在我的文件类型设置中,我有 文件映射打字稿。 所有的文件?不,一个文件顽固地不会被视为TypeScript文件,而是显示为纯文本。我不知道如何将这个标记为TypeScript文件。 所有<code>*。ts文件旁边有正确的ts图标。这个没有。 当我打开流氓文件时,PhpStom告诉我有该文件

  • 问题内容: 我的Xcode项目中有一个XML文件,我试图首先将其保存到磁盘,其次我如何知道是否已成功保存它?这是正确的方法吗?使用模拟器,我导航到iOS 11中新的“文件”文件夹,但没有看到它,但不确定是否应该存在该文件夹? 更新以包括文件是否存在我的检查: 问题答案: 您可以使用并让用户在共享URL时选择他想保存文件的位置。用户只需要选择保存到文件,然后选择要保存要导出文件的目录即可。 您可以用

  • 我有一个资源文件夹/包在我的项目的根,我"不"想要加载某个文件。如果我想加载某个文件,我会使用class.getResourceAsStream,我会没事的!!我实际上想做的是在资源文件夹中加载一个“文件夹”,循环该文件夹中的文件,并获得每个文件的流,并在内容中读取...假设在运行时之前没有确定文件名...那我该怎么办?有没有一种方法来获得一个文件夹中的文件列表在您的jar文件?请注意,带有资源的

  • 问题内容: 我需要将文件写入以下路径: 但是路径可能不存在。所以我得到以下错误: message = ENOENT,打开/folder1/folder2/file.txt 如何将内容写入该路径? 问题答案: 将mkdirp与first 结合使用。 如果整个路径已经存在,则为noop。否则,它将为您创建所有丢失的目录。 该模块可满足您的需求:https : //npmjs.org/package/w