node.js - Kan ikke kompilere enkelt TypeScript node-ts-eksempel


Jeg prøver å lære https://github.com/TypeStrong/ts-node. Jeg har skrevet to filer som et enkelt eksempel. De er begge i samme katalog, som for øyeblikket ikke er i samme mappe som package.json

/package.json
/src/build-lib/run-ts.js
/src/build-lib/Test.ts

run-ts.js

require('ts-node').register();
const Test = require('./Test.ts').Test; // Tried with and without .ts extension
const tester = new Test();
tester.log('Message');

Test.ts

export class Test {
    log(message: string) {
        console.log(`Test ${message}`);
    } 
}

Jeg kjører følgende skript:

ts-node src/build-scripts/gen-xml.js

Og jeg får følgende kompilasjonsfeil

/Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:319
      throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset))
            ^
TSError: ⨯ Unable to compile TypeScript
src/build-scripts/Test.ts (7,36): Parameter 'message' implicitly has an 'any' type. (7006)
    at getOutput (/Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:319:17)
    at /Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:350:18

Jeg forventet å se "Testmelding" på konsollen.

Svar #1

Det ser ut som du har en JavaScript-fil (run-ts.js) som selv registrerer TypeScript for å fange opp alle require-kall som gjøres.

Har du prøvd å kjøre den filen med bare node i stedet for ts-node?

Svar #2

Løsningen for meg var å fjerne ts-node og typescript fra package.json, deretter:

npm install ts-node --save-dev
npm install -g typescript --save-dev

Relaterte artikler