语法错误 - typescript - 意外令牌:?

时间:2018-02-07 13:00:27

标签: javascript angular typescript

我是Angular的新手,而且你知道要成为一名优秀的Angular开发者,你必须擅长打字稿,所以我写了一个简单的程序,你可以看到:

function loge(messag){
    console.log(messag);
}

var message:string;

message = "Hi";

loge(message); 

我认为没有语法错误但我在终端中得到了这个:

SyntaxError: Unexpected token :
  at createScript (vm.js:80:10)
  at Object.runInThisContext (vm.js:139:10)
  at Module._compile (module.js:607:28)
  at Object.Module._extensions..js (module.js:654:10)
  at Module.load (module.js:556:32)
  at tryModuleLoad (module.js:499:12)
  at Function.Module._load (module.js:491:3)
  at Function.Module.runMain (module.js:684:10)
  at startup (bootstrap_node.js:187:16)
  at bootstrap_node.js:608:3

我不知道为什么会得到这个,我需要帮助,所以我可以继续前进。 我使用的是2.5版的typescript和PhpStrom作为IDE。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

类型注释不存在于JavaScript中,所以这一行:

var message:string;

应该是:

var message

请记住将您的TypeScript转换为JavaScript - 并在您的应用程序中引用JavaScript文件。

答案 1 :(得分:0)

首先,你需要将你的打字稿转换为javascript。然后,您就可以在浏览器环境中使用它们了。

将如下所示的tsconfig.json放入项目文件夹

{
  "compilerOptions": {
      "outDir": "./dist/",
      "sourceMap": true,
      "module": "ES6",
      "target": "ES6",
      "baseUrl": "./src/"
  },
  "include": [
      "./src/**/*"
  ]
}

将您的打字稿文件放入./src并运行tsc。然后已编译的文件将位于./dist中。在浏览器中使用它们将起作用

答案 2 :(得分:0)

我也遇到了同样的问题,因为我试图编译.ts文件,然后尝试使用节点file_name.ts命令运行相同的.ts文件。

但是应该就像首先使用tsc file_name.ts编译.ts文件一样 然后使用节点file_name.js运行生成的js文件。