Как настроить TypeScript, VScode, Yarn2, проект Fastify

Я знаю, что решал это раньше, но, возможно, с тех пор ситуация изменилась. Я пытаюсь настроить новый проект, используя в основном fastify, кодирование в VSCode на TypeScript и управление зависимостями с помощью Yarn2.

VSCode сообщает мне, что не может найти fastify. Он также не может находить типы узлов, несмотря на добавление fastify и @ types / node. Я пробовал многочисленные перестановки и шаги из следующего, застрахованный, что использую версию TypeScript для рабочей области VSCode, пересмотрел tsconfig.json для использования node moduleResultion и т. Д. Все, что раньше работало, больше не работает, но я не Я нашел еще одну текущую публикацию или немного документации, которая решает проблему.

Что мне не хватает?

       nvm install node               ## Install latest NodeJS
node --version > .nvmrc        ## Set the node version to use
yarn init -y                   ## Project initialization
yarn set version berry         ## Use yarn v2
yarn add --dev typescript      ## TypeScript all the way
yarn add --dev ts-node         ## Easier Ts script or task execution
yarn plugin import typescript  ## Magic?
yarn add --dev @types/node     ## Node types
yarn add --dev @yarnpkg/pnpify ## Emulate ./node_modules
yarn pnpify --sdk vscode       ## Setup workspace/environment     
yarn tsc --init -t ES2020      ## Generate tsconfig.json
yarn add fastify               ## Add fastify dep

package.json

       {
  "name": "server",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "@yarnpkg/pnpify": "^2.2.1",
    "ts-node": "^9.0.0",
    "typescript": "^4.0.3"
  },
  "dependencies": {
    "fastify": "^3.4.1"
  }
}

Обновление: несмотря на то, что я ответил на приглашение VSCode использовать версию TypeScript для рабочей области, я обнаружил, что мне все еще нужно вручную указать ее с помощью ctrl + shift + p> Выбрать версию TypeScript... После этого проблема немного изменится. Независимо от оператора импорта, теперь я вижу проблему с пространством имен:

1 ответ

Я тоже изо всех сил пытался запустить fastify. Оказывается, проблема в том, что вам нужно запустить fastify с узлом пряжи (имя вашего скрипта). Поскольку новая пряжа избавилась от каталога узла-модуля, он не может его найти. но пряжа сделала обходной путь, исправив эту проблему, "узел пряжи" я не знаю, как это работает.

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