Как настроить 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 с узлом пряжи (имя вашего скрипта). Поскольку новая пряжа избавилась от каталога узла-модуля, он не может его найти. но пряжа сделала обходной путь, исправив эту проблему, "узел пряжи" я не знаю, как это работает.