我有一个Angular2项目,我需要在其中输入要在我的 typescript 中使用的javascript文件。
我在app/js/d3gantt.js中有一个javascript文件,其中包含gantt = function()
的单个功能。
gantt = function() {
//Does lots of stuff
return gantt;
};
然后,在同一个文件夹中有一个名为d3gannt.d.ts的定义文件,如下所示:
declare module 'd3Gantt' {
export module d3Gantt {
export function gantt(): any;
}
}
然后我在我的组件中引用为
import * as d3Gantt from '../app/js/d3gantt';
但是,我收到指出
File 'c:/Projects/RepackLog/RepackLog/RepackLog/app/js/d3gantt.d.ts' is not a module
的错误消息我是否缺少一些必要的东西才能正常拾取我的文件?
谢谢,
最佳答案
正如@FabioAntunes在上面的评论之一中提到的那样,您只需要内联地在d3gantt.js文件本身上导出gantt
。
确切的语法是
export gantt = function() {
//Does lots of stuff
return gantt;
};
无需在其他任何地方声明它。
有关导出模块的进一步说明,请参阅此文章(Typescript es6 import module "File is not a module error")。
关于javascript - typescript 'is not a module'错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40302392/