typescript - yarn: nu se poate găsi modulul


Am un workspace Yarn configurat cu folderele public și server. Folosesc TypeScript în VS Code. La orice modul care nu are tipurile preinstalate odată cu pachetul, primesc eroarea în VS Code:

Cannot find module 'x'

Totuși, IntelliSense va afișa x ca sugestie. Am atât x cât și @types/x și se pare că nu face nicio diferență dacă instalez @types/x. Mulțumesc

Windows 1909 (Latest)
Visual Studio Code 1.43 (Latest)
TypeScript ^3.8.3 (Latest)
Yarn 2.0.0-rc.30 (Latest)

De asemenea, am încercat să găsesc rădăcinile de tip pentru yarn, dar nu am reușit. Ar putea cineva să îmi spună unde este directorul rădăcină de tip, vă rog.

Răspuns #1

Din documentație:

Pentru a susține funcții precum mergi-la-definiție, este necesar un plugin precum ZipFS.

  1. Rulați următoarea comandă, care va genera un nou director numit .yarn/sdks:

    yarn dlx @yarnpkg/sdks vscode
    
  2. Din motive de siguranță, VSCode necesită să activați în mod explicit setările personalizate TS:

  3. Apasă ctrl+shift+p într-un fișier TypeScript

  4. Alege „Selectează versiunea TypeScript”

  5. Selectați „Utilizează versiunea din spațiul de lucru”

Răspunsul #2

Aruncă o privire asupra instrucțiunilor aici: https://yarnpkg.com/getting-started/editor-sdks

IDE-urile inteligente (cum ar fi VSCode sau IntelliJ) necesită o configurare specială pentru ca TypeScript să funcționeze. Această pagină intenționează să fie o colecție de setări pentru fiecare editor cu care am lucrat - vă rugăm să contribuiți la această listă!

De exemplu, când folosești un IDE „vscode”, execută:

yarn dlx @yarnpkg/pnpify --sdk vscode

Comanda de mai sus va conecta proiectul tău vscode să se bazeze pe yarn, adică adaugă folderul sdks în cadrul configurației tale .yarn și de asemenea spune IDE-ului tău să-l folosească, prin adăugarea următoarelor în settings.json:

"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true

Sugestie: Yarn își stochează pachetele sub formă de arhive zip. Deci, pentru a putea inspecta și importurile din node_modules gestionate de yarn, poți instala extensia ZipFS

Această extensie adaugă suport în VSCode pentru a citi fișiere direct din arhive zip. Este întreținută ca parte a lanțului de instrumente Yarn. Utilizarea acestei extensii împreună cu SDK-ul Yarn vă va permite să deschideți și să editați fișiere din cache-ul dvs. fără probleme.