Typescript не может найти модуль «worker_threads»

Я пытаюсь использовать библиотеку worker_threads node.js с Node v14.15.1 и получаю эту ошибку

Cannot find module 'worker_threads' or its corresponding type declarations.ts(2307)
tsc 

src/api/services/email.service.ts:1:62 - error TS2307: Cannot find module 'worker_threads'.

1 import { Worker, isMainThread, parentPort, workerData } from 'worker_threads';
                                                              

Found 1 error.

мой код -

import { Worker, isMainThread, parentPort, workerData } from 'worker_threads';

рабочие потоки стали стабильными после узла 11. Так что это должно работать. Что я делаю не так ?

PS - я запускал тот же код с JS, и он работал нормально, поэтому я не думаю, что это проблема Node.js. Другие основные библиотеки, такие как fs, также работают нормально. Нужна ли мне дополнительная конфигурация для TS?

npm install @types/node или эквивалентная команда для вашего менеджера пакетов.
Aluan Haddad 19.12.2020 17:54

Спасибо, но это уже сделано, и другие основные библиотеки, такие как «fs», работают нормально. Только с этой библиотекой

Rohan Gulati 19.12.2020 17:59

Убедитесь, что версия пакета @types указана правильно.

Aluan Haddad 19.12.2020 18:07

@AluanHaddad спасибо за вашу помощь. Не помню почему, но у меня была очень старая версия @types/node и ts-node. После обновления заработало отлично. Еще раз спасибо!

Rohan Gulati 19.12.2020 18:31

@RohanGulati У меня точно такая же проблема, до каких версий @types/node и ts-node вы обновлялись? Было бы полезно, если бы вы могли указать шаги в качестве ответа или в комментариях.

ChrisOdney 25.12.2020 12:06

@ChrisOdney спасибо за напоминание. я добавил ответ

Rohan Gulati 26.12.2020 13:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
6
23 842
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Эта проблема заключалась в том, что я использовал довольно старые версии. После обновления проблема решилась. Если кто-то сталкивается с такой же проблемой, обновите эти версии в вашем package.json - я обновился до

  • "@типы/узел": "14.14.14"
  • "ts-узел": "9.1.1"

Также убедитесь, что версия Nodejs 12 LTS или выше, чтобы иметь стабильную поддержку «рабочего потока».

Это не помогает для "ts-node": "^9.1.1" и "@types/node": "^14.14.37".

Eugene Zalivadnyi 15.04.2021 17:03

@EugeneZalivadnyi Это хорошо протестировано с этими версиями. С какой проблемой вы столкнулись? Может быть, я могу помочь

Rohan Gulati 28.05.2021 21:53

В моем случае эта проблема возникла в моем проекте Angular после npm audit fix --force

Итак, после нескольких попыток вот что я сделал:

  • обновление узла с помощью sudo n stable (сначала необходимо установить менеджер версий узла)

  • ng update

Эта команда даст вам несколько рекомендаций в столбце с именем «Команда», чтобы обновить каждое обновление отдельно и убедиться, что оно работает правильно.

Потом бегу ng serve и все приходит в норму.

У меня такая же ошибка на ubuntu. Недавно я установил узел на свою новую машину. Раньше я был на Windows. Я понял, что использую гораздо более старую версию узла (v10 или аналогичную).

После обновления версии узла до последней версии v16.13.1 мне удалось устранить ошибку. Мне также пришлось удалить папку node_modules и файл package-lock.json. Я принял предложение Рохана выше и следовал приведенным здесь инструкциям:

https://github.com/enable3d/enable3d/issues/231

Другие вопросы по теме