javascript - VS Code visar modul hittades inte även om WebPack-bygg fungerar
Min VS Code säger att den inte kan hitta ett import även om min WebPack-bygg fortfarande fungerar.
Här är importen...
import * as tf from '@tensorflow/tfjs';
och meddelandet från VS Code:
Kan inte hitta modulen '@tensorflow/tfjs'. Menade du att sätta 'moduleResolution'-alternativet till 'node', eller att lägga till alias i 'paths'-alternativet?
Jag har läst något om sökvägsalias som kan ställas in i tsconfig.json för att förkorta långa sökvägar till moduler. Men om detta är ett sökvägsalias och jag inte har det konfigurerat i min tsconfig.json, hur vet WebPack var modulen är belägen?
Jag läste också att konventionen för sökvägsalias är att börja med ett "@", men mappen i "node_modules" själv heter "@tensorflow", så jag vet inte om det verkligen är ett sökvägsalias och om inte, kanske WebPack magiskt vet att det måste söka i "node_modules" efter den här modulen?
Som du kan se är jag verkligen förvirrad över detta och jag skulle vara tacksam om någon kunde klargöra detta för mig och förklara vad jag måste göra för att få VS Code att sluta klaga på importen.
Svar #1
Hittade lösningen på egen hand.
Jag hittade bara information om att definiera aliasen i tsconfig.json uttryckligen i alternativet "path", men detta kan inte vara svaret på mitt problem eftersom det i mina andra Angular-projekt inte finns något sådant definierat även om jag använder @Angular-importer där mycket utan detta problem.
Men sedan hittade jag detta i mitt Angular-projekt "moduleResolution": "node".
Som anges i annan TypeScript-dokumentation:
Däremot utförs upplösning för ett icke-relativt modulnamn på ett annat sätt. Node kommer att leta efter dina moduler i speciella mappar som heter node_modules.
Och se, det fungerar. Ja, jag kunde nog ha försökt detta tidigare, eftersom det står i meddelandet från VS Code i mitt fråga, men jag trodde att detta bara var för projekt specifika för node.js och jag har inte läst om detta någonstans.