TypeScript, SyntaxError: неожиданный токен { - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь запустить мою программу, используя "node main.js", однако она продолжает выдавать ошибку "SyntaxError: Неожиданный токен {"

D:\Visual Studio Code Projects\ts-hello>node main.js
D:\Visual Studio Code Projects\ts-hello\main.js:1
import { LikeComponent } from './like.component';
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:721:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

Я попытался изменить tsconfig.Файл JSON для «модуля»: «Commonjs», однако, это не сработало.Я даже удалил и переустановил узел и начал с нуля.

import{LikeComponent} from './like.component';

let component = new LikeComponent(10, true);
component.onClick();
console.log(`likesCount: ${component.likesCount}, isSelected: ${component.isSelected}`);

Программа должна правильно выводить программу в командную строку.

1 Ответ

2 голосов
/ 11 июня 2019

Обратите внимание, что вы работаете node main.js.

Ваш main.js в настоящее время имеет синтаксис esm (он же синтаксис модуля ES6).

Предполагается, что он скомпилирован из main.ts, вам нужно иметь module: commonjs в вашем `tsconfig.json

// tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    ... // other configurations
  }
}

При этом, когда вы компилируете свой код с помощью команды tsc, он создаст main.js с синтаксисом модуля commonjs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...