gpt4 book ai didi

typescript - 在哪里/如何为私有(private)的、范围内的 npm 模块添加 d.ts?

转载 作者:行者123 更新时间:2023-12-02 04:06:26 26 4
gpt4 key购买 nike

我正在尝试将 Javascript 项目移植到 Typescript。我有一个名为:@myscope/utils

的依赖项

将其中的文件导入到 ts 文件中,如下所示:

import date = require('@myscope/utils/date');

当我尝试编译它时,出现以下错误:

src/subfolder/something.ts(12,23): error TS2307: Cannot find module '@myscope/utils/date'.

如何为这样的私有(private)模块添加自己的类型?

最佳答案

我自己设法解决了这个问题。我引用了writing declaration files上的信息

获取要解析的模块的关键是声明一个名称为包的完整路径的模块。我为该模块创建了一个 index.d.ts 文件,并将其添加到 tsconfig.jsonfiles 部分。

该文件包含以下声明:

declare namespace date {
function now(): number;
}

declare module "@myscope/utils/date" {
export = date;
}

虽然没有必要,但我像打字一样构建了导入。在移植应用程序的其余部分后,我可能会在稍后进行简化。

我创建了以下文件:

mytypings/index.d.ts
mytypings/modules/@myscope/utils/index.d.ts

请注意,utils 路径中没有日期部分。

mytypings/index.d.ts 包含 mytypings/modules/@myscope/utils/index.d.ts 的引用路径,然后添加到tsconfig.json。

我的计划是以同样的方式添加其他库。

关于typescript - 在哪里/如何为私有(private)的、范围内的 npm 模块添加 d.ts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com