我正在努力加载.js模块,该模块与我的.ts文件位于同一文件夹中。我在同一个文件夹中有4个文件:
index.ts
/// <reference path="./node.d.ts" />
/// <reference path="./foo.d.ts" />
import foo = require('./foo.js');
node.d.ts
从https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node.d.ts
复制foo.d.ts
declare module "foo" {
export function hello(): void;
}
foo.js
module.exports = {
hello: function() {
console.log('hello');
}
};
当我运行tsc index.ts --module commonjs
时,我收到以下错误:
index.ts(4,22): error TS2307: Cannot find module './foo.js'.
答案 0 :(得分:4)
由于node.js将通过相对路径解析foo
而不是在node_modules
目录中查找它,就像你通过npm安装的模块一样,你需要删除{在declare module "foo"
中{1}}。此外,在foo.d.ts
中,在调用index.ts
时删除.js
扩展名。
<强> foo.d.ts 强>
require
<强> index.ts 强>
export function hello(): void;
答案 1 :(得分:1)