【发布时间】:2016-04-09 09:29:54
【问题描述】:
我正在尝试创建我的第一个 Typescript 定义文件。主题代码为filename.js(index.js):
module.exports = {
extension: extension,
basename: basename,
removeSuffix: removeSuffix,
removeSuffixWithDelimiter: removeSuffixWithDelimiter,
appendSuffix: appendSuffix,
appendSuffixWithDelimiter: appendSuffixWithDelimiter,
directoryName: directoryName
}
function extension(filename) {}
function basename(filename) {}
function removeSuffix(filename) {}
function removeSuffixWithDelimiter(delimiter, filename) {}
function appendSuffix(suffix, filename) {}
function appendSuffixWithDelimiter(suffix, delimiter, filename) {}
function directoryName(filename) {}
我目前拥有的定义(index.d.ts)文件:
declare module "filename.js" {
export function extension(filename: string): string;
export function basename(filename: string): string;
export function removeSuffix(filename: string): string;
export function removeSuffixWithDelimiter(delimiter: string|number, filename: string): string;
export function appendSuffix(suffix: string, filename: string): string;
export function appendSuffixWithDelimiter(suffix: string, delimiter: string|number, filename: string): string;
export function directoryName(filename: string): string;
}
这很好用(在我的编辑器中自动完成),但我得到一个编译错误:
index.ts(21,29):错误 TS2656:导出的外部包类型文件“filename.js/index.d.ts”不是模块。请联系包作者更新包定义。
这个错误是什么意思(Typescript 的新手),更重要的是,我应该如何修改我的定义以使其更正确?
【问题讨论】:
-
你能解决这个问题吗?我也有同样的问题。
-
@emzero 不,到目前为止我还做不到
-
希望它会在 TS 2.0 中得到修复
标签: javascript typescript