【发布时间】:2018-07-09 06:36:33
【问题描述】:
使用 Typescript 2.6.2,我开发了一个返回 Observable 的函数。此功能是在我已发布为名为 my-package 的包的模块中开发的。
函数在文件my-function.ts中定义
import { Observable } from 'rxjs/Observable';
export function myFunction() {
return Observable.from([1,2,3]));
}
模块有它的 index.ts 本身
import {myFunction} from './my-function';
export {myFunction};
现在我想在另一个项目中使用 my-function。因此我导入 my-package,然后编写一个新函数 newFunction,它在一个看起来像
的文件中使用 my-function >import {myFunction} from 'my-function';
export function newFunction() {
return myFunction();
}
如果这样做,当我尝试编译最后一个文件时,我会收到一个错误,其文本为
导出函数的返回类型已经或正在使用来自外部模块“~/node_modules/rxjs/Observable”的名称“Observable”,但无法命名。
为了解决这个问题,我必须更改 newFunction 的代码
import { Observable } from 'rxjs/Observable';
import {myFunction} from 'my-function';
export function newFunction(): Observable<any> {
return myFunction();
}
有没有办法避免编译器问题而不必显式声明 newFunction 的返回类型?
【问题讨论】:
标签: typescript typescript-typings