Hvordan trippel skråstrek fungerer i TypeScript for referanser


Jeg er nybegynner i TypeScript.

Jeg laget et kodeeksempel med to filer, utils.ts og index.ts.

utils.ts

function theDate() {
  return new Date();
}

index.ts

/// <reference path="utils.ts" />
let t = theDate();
document.getElementById("app").innerHTML = `
<h1>Hello Parcel!</h1>
<div>
  Look
  <a href="https://parceljs.org" target="_blank" rel="noopener noreferrer">here</a>
  for more info about Parcel.
</div>
`;

Jeg prøvde å referere til theDate-funksjonen i utils.ts...

function theDate() {
  return new Date();
}

ved å legge til følgende i index.ts:

/// <reference path="utils.ts" /> 

men jeg får følgende feil:

theDate er ikke definert

Er ikke trippelreferanse (TypeScript-dokumentasjonsreferanse) ment å kunne fikse dette problemet?

Svar #1

Så etter et nytt blikk tror jeg jeg vet hvem synderen er. Generelt er trippelskråstrek hvis du ser etter referansetyper definisjoner blah.d.ts eller ser etter å bruke --out-flagget ved kompilering.

Jeg tror det du egentlig ønsker å gjøre i ditt scenario er at du vil endre metoden din til;

export function theDate() {
  return new Date();
}

Så der du ønsker å bruke det, vil du inkludere en import med angivelse for tre-risting-formål øverst sammen med andre importdeklarasjoner via;

import { theDate} from 'path/to/file/or/using/alias/to/find/utils';

Bruk det deretter som forventet;

BlahMethod = (something) => {

   something.value = theDate;

}

Håper dette hjelper, skål.