WebStorm og TypeScript: hvordan navigere til JS-kildefilen til en pakke?
Si at i TypeScript-prosjektet mitt bruker jeg Express og en metode som dette:
response.send('Hello');
Jeg vil se hvordan send()-metoden er implementert. Men når jeg ctrl+klikker på metodenavnet i WebStorm, tar det meg til en .d.ts-fil (TypeScript-definisjoner) i stedet for den faktiske kilden. Forståelig, men litt ubehagelig. Hva er den enkleste måten å komme til kilden på?
Svar #1
Den enkleste måten å komme til kilden på er å deaktivere det tilsvarende biblioteket (hvis d.ts-filer ble lastet ned som et bibliotek)/fjerne TypeScript-definisjoner fra prosjektet. Da vil WebStorm prøve å finne definisjonen i .js-filer.
Det finnes en funksjonsforespørsel om muligheten til å 'slå sammen' TypeScript-definisjoner med tilgjengelige .js-definisjoner, ved å bruke d.ts for fullføring og .js - for navigasjon (WEB-12630). Det eneste problemet her er at WebStorm ikke alltid kan finne riktig definisjon i .js - og det er grunnen til å bruke TypeScript-definisjoner i stedet. For eksempel, hvis modulens egenskaper er definert ved å iterere gjennom filer i filsystemet:
fs.readdirSync(__dirname + '/middleware').forEach(function(filename){
if (!/\.js$/.test(filename)) return;
var name = basename(filename, '.js');
function load(){ return require('./middleware/' + name); }
exports.middleware.__defineGetter__(name, load);
exports.__defineGetter__(name, load);
});
Å løse dem for fullføring/navigasjon ser ikke ut til å være mulig
