从私有范围的npm导入@types

时间:2019-09-27 12:38:30

标签: typescript npm npm-install typescript-typings

我有一个私有的,有范围的npm软件包,其package.json看起来像这样:

using System.Text.RegularExpressions;

string expr = @"\d+\)";
string[] matches = Regex.Split(strType, expr);
foreach(string m in matches){
    Console.WriteLine(m);
}

我已将此软件包安装在另一个项目中。问题是:尝试从中导入特定类型时:

    {
      "name": "@co/schema",
      "version": "0.20.0",
      "author": "jsmith",
      "contributors": [],
      "main": "lib/index.js",
      "files": [
        "lib"
      ],
      "types": "./lib/index.d.ts",
      "devDependencies": {
        "@types/node": "12.7.4",
        "graphql": "14.5.6",
        "typescript": "3.6.2"
      }
    }

导入本身未显示任何错误,但是当我尝试使用以下类型时:

import { Derp } from '@co/schema';

我收到此错误:myDerp: Derp = {};

因此,Derp绝对不是名称空间。这是一个界面:

cannot use namespace Derp as a type

我看到的建议解决方法是:export interface Derp { herp: string, nerp: number, flerp: string } ,但是当我尝试这样做时,我得到了:

npm i @types/@co/schema -D

无法辨别是在我的作用域名称中@还是什么。

是的-如何正确导入(或从私有模块导出)这些类型?

我删除了所有默认导出,因为我在某处看到了建议。因此,每个类型/接口/任何内容都将单独导出,而不是通过默认导出。但是我现在有点困惑,不知道还能尝试什么。

0 个答案:

没有答案