我有一个Angular2项目,我需要导入一个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
我是否遗漏了正确拾取文件所需的内容?
谢谢,
答案 0 :(得分:2)
正如上面其中一条评论中提到的@FabioAntunes,你只需要在你的d3gantt.js文件中自行导出int[]
。
确切的语法是
gantt
无需在其他任何地方声明。 有关导出模块的进一步说明,请参阅此文章(Typescript es6 import module "File is not a module error")。
答案 1 :(得分:1)
声明模块如下:
declare module 'd3Gantt' {
export function gantt(): any;
}
然后将模块导入为:import * from 'path to your module file'
或import * as d3 from 'path to your module file'