Борьба со странной синтаксической ошибкой Неожиданная ошибка токена * - PullRequest
1 голос
/ 19 июня 2019

Я запускал это приложение много раз, но когда я кое-что менял, чтобы он работал на heroku, а не только в моем приложении, я начал получать эту ошибку

...packages\backend\dist\main.js:1
import * as tslib_1 from "tslib"; SyntaxError: Unexpected token *

Странная вещь, я даже не использую tslib 1 в моей машинописи; поэтому он генерируется автоматически при сборке, но когда я пытаюсь запустить приложение из производства, оно зависает.

Это мой tsconfig.json

{
  "compilerOptions":{
     "target":"esnext",
     "moduleResolution":"node",
     "module":"esnext",
     "declaration":false,
     "noLib":false,
     "emitDecoratorMetadata":true,
     "experimentalDecorators":true,
     "sourceMap":true,
     "pretty":true,
     "allowUnreachableCode":true,
     "allowUnusedLabels":true,
     "noImplicitAny":true,
     "noImplicitReturns":false,
     "noImplicitUseStrict":false,
     "outDir":"dist/",
     "baseUrl":"src/",
     "listFiles":false,
     "importHelpers": true,
     "noEmitHelpers":true
  },
  "include":[
     "src/**/*"
  ],
  "exclude":[
     "node_modules"
  ],
  "compileOnSave":false

Полагаю, я мог что-то изменить в tsconfig.json, но я не знаю что! Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 21 июня 2019

На самом деле, когда вы разрабатываете на стороне сервера с использованием nodejs, вы должны настроить tsconfig с помощью

"module": "commonjs"

Чтобы узнать, в чем разница между "None", "CommonJS", "AMD", "System", "UMD", "ES6", "ES2015" or "ESNext"

Я рекомендую вам прочитать эту статью https://medium.com/computed-comparisons/commonjs-vs-amd-vs-requirejs-vs-es6-modules-2e814b114a0b

0 голосов
/ 19 июня 2019

Не уверен, почему это работает, но я только что внес следующие изменения

 "module":"commonjs",
 "target":"es6",

Опять же, не уверен, почему это работает, но работает ...

...