打字稿外部模块中的多个入口点未解析

时间:2016-10-26 10:43:09

标签: typescript npm

我正在尝试为具有多个入口点的TypeScript构建一个外部模块@example/lib。我想用这样的东西:

import * as lib from '@example/lib';
import * as foobar from '@example/lib/foobar';

通过在我的tsconfig中设置"target": "es5""declaration": true,并将"main""typings"属性指向package.json,我可以构建一个正常运行的npm模块到一个源位置。如果我这样做,我总是可以毫无问题地导入@example/lib

当我尝试导入@example/lib/foobar时出现问题。 TypeScript抱怨它“无法找到模块@example/lib/foobar”。但是,编译后的输出可以完全正确地导入这个子模块(在由webpack处理之后)。

在我的@example/lib项目中,我有源文件:

index.js
index.d.ts
foobar.js
foobar.d.ts

在我的package.json中,我有:

{
    ...
    "typings": "index.d.ts"
    "main": "index.js"
    ...
}

在这种情况下,我需要做些什么来保持TypeScript的快乐(以及类型检查!)?

1 个答案:

答案 0 :(得分:0)

上述情况确实有效。

不幸的是,在我的情况下,没有为foobar生成d.ts文件,(虽然源是错误的。)