我有3个NodeJS包,其中2个稍后将发布到npm,并且是在javascript中,我希望它们包含类型。我该怎么做呢?
我有一个库common
,一个user-facing
和一个样本。样品取决于user-facing
,而样品取决于common
。
我已经为每个包中的每个.js文件创建了类型文件,我在package.json
中为每个包包含了"typings"
指令,指定了主类型文件。
但是当我尝试编译我的示例tsc
正确地找到user-facing
的类型时,但随后抱怨它无法在试图导入common
的user-facing
的文件中找到进一步的类型。
如何在本地运行示例而不事先将类型发布到注册表?
您不应该为您创建的库将内容发布到类型注册表中。它们可以携带自己的类型。typings注册表用于为其他人创建的库创建类型。
你想在package.json中包含一个typings元素
例子
"typings": "./yourentry.d.ts",
然后让构建生成键入。d。ts文件
在你的tsconfig中:
{
"compilerOptions": {,
"declaration": true,
这样做将允许tsc和vscode找到它,当消费者进行npm安装时,它将只在编译时间和智能感知下工作。
没关系,我在"typings"指令中有一个错别字。执行npm link
来"安装"依赖的软件包就足够了。