我有一个标准的Web应用程序目录结构,其中包含javascripts
目录下的一些文件夹。直接在javascripts
下我有我的入口点文件main.ts
,它看起来像这样:
import ext = require("./shared/extern");
var testval = "3"
export class main{
print(additional:string){
console.log(additional+ext.culture());
}
}
在名为javascripts
的{{1}}子目录下,我只有一个文件shared
,它看起来像这样:
extern.d.ts
我希望此代码能够正常工作,因为生成的js可以与我现有的应用程序一起使用。但是,运行
declare module extern{
function culture(): {
name: string;
}
}
抱怨tsc --m amd main.ts
尽管仍然生成了准确的文件。我想将这些更改集成到我的构建系统中,但由于这些错误,它会失败。
我已经使用参考路径标记和
File './shared/extern.d.ts' is not an external module.
在代码中,但生成的js代码在我的项目中不会解决。
有人知道如何解决这些错误吗?
感谢。
答案 0 :(得分:0)
所以我错过了export = extern;
底部的extern.d.ts
。 extern文件需要如下所示:
declare module extern{
function culture(): {
name: string;
}
}
export = extern;
现在可行。
答案 1 :(得分:0)
我愿意:
declare module "extern"{
export function culture(): {
name: string;
}
}
然后使用commonjs node_modules或AMD shim加载extern
。