我有一个私有的,有范围的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
无法辨别是在我的作用域名称中@还是什么。
是的-如何正确导入(或从私有模块导出)这些类型?
我删除了所有默认导出,因为我在某处看到了建议。因此,每个类型/接口/任何内容都将单独导出,而不是通过默认导出。但是我现在有点困惑,不知道还能尝试什么。