#node.js #typescript #rxjs
#node.js #машинопись #rxjs
Вопрос:
Время выполнения:
- Узел v11.7.0
- Версия RxJS: 6.3.3
- @types/node: 8.10.45
- tsc: 3.2.4
При запуске tsc
я вижу, что где-то в Rxjs setTimeout
вызывается без передачи ms
параметра, и это противоречит @types/node
определению setTimeout
. Поскольку я обновился до последней версии Rxjs, я больше не могу создавать свой проект.
Есть ли обходной путь?
node_modules/rxjs/src/internal/util/hostReportError.ts:7:3 - error TS2555: Expected at least 2 arguments, but got 1.
7 setTimeout(() => { throw err; });
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/node/index.d.ts:123:65
123 declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
~~~~~~~~~~
An argument for 'ms' was not provided.
Комментарии:
1. Это не столько обходной путь, просто обычная практика — никогда не компилировать исходные тексты внутри
node_modules
. В вашем проекте должны использоваться скомпилированные.js
файлы и.d.ts
файлы из его зависимостей, а не исходные.ts
файлы.2. Вау, это сбивает меня с толку прямо сейчас, потому что, насколько я знаю, я ничего не компилирую в node_modules . Я исключаю его из своего tsconfig.
Ответ №1:
Я решил эту проблему, добавив следующее в свой tsconfig.json
:
"lib": [
"dom",
"es2017"
]