在TypeScript

时间:2018-09-03 14:21:50

标签: javascript typescript ecmascript-6 es6-modules babylonjs

问题:为什么我在Game.ts文件的第2行收到“ Uncaught SyntaxError:Unexpected token {”?

我下面列出了两个打字稿文件。通过Visual Studio编译项目时,我没有任何错误。但是,当我在浏览器中浏览控制台(尝试使用不同的控制台)时,出现此错误,并且游戏场景未呈现。我使用TypeScript 3.0和ES6。

ColorHelper.ts

export class Color {
    ColorFromRGB(r: number, g: number, b: number): BABYLON.Color3 {
        return new BABYLON.Color3(r / 255, g / 255, b / 255);
    }
}

Game.ts

///<reference path="../node_modules/babylonjs/babylon.d.ts" />
import { Color } from "./helpers/ColorHelper";

class Game {
    ...
}

这是我的tsconfig.json

{
  "compileOnSave": true,
  "compilerOptions": {
    "types": [ "babylonjs" ],
    "target": "es6",
    "sourceMap": true,
    "module": "es6"
  }
}

这是我的package.json

{
  "name": "BabylonTest",
  "version": "1.0.0",
  "description": "",
  "main": "Game.js",
  "directories": {
    "lib": "lib"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babylonjs": "^3.2.0"
  }
}

1 个答案:

答案 0 :(得分:1)

在使用ES6时,您必须记住添加了editorOptions模块,目标是ES6,但模块是commonjs

  {  
        "compilerOptions": {
             "module": "commonjs", // add this instead of es6 as module
        }
    }