【问题标题】:How can I use declaration file inside npm package using typescript?如何使用 typescript 在 npm 包中使用声明文件?
【发布时间】:2020-05-23 17:14:20
【问题描述】:

我的 node_modules 文件夹中有一个包,其中包含 typings.d.ts 和 package.json 在 package.json 我设置了 "types": "typings.d.ts"

typings.d.ts

export { T1, T2, T3} from '@somepackage';

interface Window {
    additionalProp: any;
}

export declare var window: Window;

当我在某些服务中使用这个声明文件时:

import { window } from '../typings';


export class SomeService {
    someMethod(): void {
        if (window && window.additionalProp) {
           someLogic();
        }
    }
}

我没有编译错误 但是当我建立一个项目时,我得到了下一个错误:

Module not found: Error: Can't resolve '../typings'

我已经阅读过关于声明模块、三重破折号导入等的内容。没有任何帮助:(

【问题讨论】:

  • 这将帮助我们帮助您了解您正在尝试使用哪个 npm 模块。
  • 这是我自己的 npm 包
  • 你的意思是私人包吗?因为否则它是你的还是别人的都没有关系。
  • 是的,这是一个私人包

标签: typescript npm type-declaration


【解决方案1】:

node_modules 中的模块不使用相对路径。您可以使用

导入这些类型
import { window } from "the-package-name/typings";

...其中the-package-namenode_modules 中包含typings.d.ts 的包的名称。

【讨论】:

  • 仍然出现同样的错误:找不到模块:错误:无法解析'@package/directory/typings'
猜你喜欢
  • 2012-10-25
  • 2020-04-09
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多