我正在尝试为具有多个入口点的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的快乐(以及类型检查!)?
答案 0 :(得分:0)
上述情况确实有效。
不幸的是,在我的情况下,没有为foobar生成d.ts文件,(虽然源是错误的。)