angular - TypeScript syntaksfejl ved import


Jeg prøver at lære TypeScript og Angular, men der er en mærkelig fejl, der bliver ved med at genere mig.

Kort sagt importerer jeg en klasse kaldet Point fra modulet point. Fejlen antyder, at en krølleparentes er forkert. Fejlen peger på import-sætningen i main.ts (linjenummer 1).

Desuden har jeg .ts- og .js-filerne i en mappe. Denne mappe har ikke en tsconfig.json-fil.

Jeg transpilerer og kører koden med:

tsc main.ts --target ES2016 && node main.js

Jeg retter mig mod ES2016 for at støtte getter- og setter-egenskaber.

fejl

main.js:1
(function (exports, require, module, __filename, __dirname) { import { Point } from './point';

SyntaxError: Unexpected token {
    at new Script (vm.js:74:7)
    at createScript (vm.js:246:10)
    at Object.runInThisContext (vm.js:298:10)
    at Module._compile (internal/modules/cjs/loader.js:670:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
    at startup (internal/bootstrap/node.js:238:19)

main.ts

import { Point } from './point';

let point = new Point(1);
point.draw();
let x = point.x;
console.log(x);
point.y = 500;
point.draw();

point.ts

export class Point {
    constructor(private _x?: number, private _y?: number) { }

    get x() {
        return this._x;
    }

    set y(value) {
        if (value < 0)
            throw new Error('New X must be 0 or higher.');

        this._y = value
    }

    draw() {
        console.log('X: ' + this._x + ', Y: ' + this._y);
    }
}

Svar #1

denne tsconfig.json indstilling.

{
   "compilerOptions": {
    "target": "ES2016",
    "module": "commonjs",
    "outDir": "./dest",
    "strict": true,
    "esModuleInterop": true
  }
}

og jeg har kompileret sådan her tsc --p tsconfig.json, og alt ser ud til at fungere fint.

typescript version: Version 2.9.2 node version: v10.2.0

Relaterede artikler