在将.d.ts
与tsc
一起使用时,是否可以包括其他declarations
个文件?
我的项目定义如下:
package.json
定义了"main": "build"
和"typings": "./build/index.d.ts"
tsconfig.json
定义了"declaration": true
和"outDir": "build"
src/index.ts
,import X from 'mypackage'
有效,并转到build/index.js
。我也有src/foo/index.ts
,但是由于不想让软件包的用户使用import foo from 'mypackage/build/foo'
,我在根目录中添加了foo.js
,
module.exports = require('./build/foo')
现在可以import foo from 'mypackage/foo'
问题是,在使用项目时,它会出错
Could not find a declaration file for module 'mypackage/foo'
我想在.d.ts
运行时向构建文件夹中添加一个额外的tsc
; build/foo.d.ts
包含src/foo/index.ts
的声明。
有可能吗?
答案 0 :(得分:0)
由于TypeScript在mypackage/foo
处查找声明文件,因此创建mypackage/build/foo.d.ts
将无济于事。您需要创建包含以下内容的mypackage/foo.d.ts
:
import foo = require('./build/foo');
export = foo;
或使用带有指向mypackage/foo/package.json
的{{1}}字段的main
文件进行重定向(TypeScript将自动添加../build/foo
扩展名)。