TypeScript не может найти модуль js в той же папке
Я пытаюсь загрузить модуль .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'.
Так как node.js разрешит foo
через относительный путь, а не ищет его в каталоге node_modules
, как это было бы с модулем, который вы установили через npm, вам нужно отбросить declare module "foo"
в foo.d.ts
. Кроме того, в index.ts
, добавьте расширение .js
при вызове require
.
foo.d.ts
export function hello(): void;
index.ts
/// <reference path="./node.d.ts" />
/// <reference path="./foo.d.ts" />
import foo = require('./foo');
Попробуйте использовать запрос без относительного пути
var foo = require('foo');
Подробнее см. статью .
- Вопросы
- Typescript
- TypeScript не может найти модуль js в той же папке