Angular VS 2012 中的语法错误
Angular syntax error in VS 2012
我是 Angular 2 的新手,但对 Angular 1 和 TypeScript 有一些了解(广泛使用 JavaScript/JQuery 但不是 TypeScript 或 Angular 1)。
在探索 Angular 2 时,我关注了几篇文章并尝试阅读和关注 Visual Studio 2012 年与 Web 应用程序相关的 Angular 2 示例。不知何故,VS 无法识别 Angular 语法并在 .ts 文件中抛出多个错误。下面的示例代码会引发错误。但是 VS 确实识别 HTML 中的 TypeScript 和 Angular 1 语法。我试图自己寻找解决方案但失败了。
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: '< h1 > Hello {{name}}< / h1>'
})
export class AppComponent { name = 'Angular'; }
任何帮助都将有助于我进一步探索它。
Error 1 Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 1 TypeScriptHTMLApp
Error 2 ';' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 27 TypeScriptHTMLApp
Error 3 Unexpected character "@". D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 4 Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 5 Could not find symbol 'Component'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 10 TypeScriptHTMLApp
Error 6 Could not find symbol 'from'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 22 TypeScriptHTMLApp
Error 7 Could not find symbol 'Component'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 2 TypeScriptHTMLApp
Error 8 Build: Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 1 TypeScriptHTMLApp
Error 9 Build: ';' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 27 TypeScriptHTMLApp
Error 10 Build: Unexpected character "@". D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 11 Build: Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
谢谢
装饰器已在 TypeScript 1.5 版中引入 ES7/ES2016,如 TypeScript 官方文档的新增功能 here.
中所述
根据 this 文档,在 TypeScript 1.7 版中也引入了对 ES3 的装饰器支持。
确保您按照 TypeScript 与 ES 的正确组合来构建您的解决方案。
注意:您可以在工具 -> 选项... -> 文本编辑器 -> JavaScript/TypeScript -> 项目中验证您的 ES 版本。
VS2012 太旧,它可能只支持不支持装饰器的 TypeScript 1.0(注意 @...
)。
勾选this issue。 VS 2012 TS 版本已停止在 TypeScript 1.0.1
。
使用较新的版本,VS2015 或 VS2017 甚至 VSCode。此外,您不必只使用 Visual Studio。您可以使用任何您想要的 - WebStorm、IntelliJ、Sublime、Atom,...。
关于VS,一般安装对应版本的TypeScript SDK即可。
WebStorm 和 IntelliJ 等其他 IDE 有自己的插件来为编辑 TypeScript 提供设计时支持。
我建议您停止寻找 Angular2,转而学习最新的 Angular 版本(撰写本文时为 v4)。这个框架发展迅速并且发生了巨大变化。不要指望 2016 年年中左右的任何早期材料会帮助您满足当前要求。
我是 Angular 2 的新手,但对 Angular 1 和 TypeScript 有一些了解(广泛使用 JavaScript/JQuery 但不是 TypeScript 或 Angular 1)。
在探索 Angular 2 时,我关注了几篇文章并尝试阅读和关注 Visual Studio 2012 年与 Web 应用程序相关的 Angular 2 示例。不知何故,VS 无法识别 Angular 语法并在 .ts 文件中抛出多个错误。下面的示例代码会引发错误。但是 VS 确实识别 HTML 中的 TypeScript 和 Angular 1 语法。我试图自己寻找解决方案但失败了。
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: '< h1 > Hello {{name}}< / h1>'
})
export class AppComponent { name = 'Angular'; }
任何帮助都将有助于我进一步探索它。
Error 1 Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 1 TypeScriptHTMLApp
Error 2 ';' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 27 TypeScriptHTMLApp
Error 3 Unexpected character "@". D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 4 Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 5 Could not find symbol 'Component'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 10 TypeScriptHTMLApp
Error 6 Could not find symbol 'from'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 22 TypeScriptHTMLApp
Error 7 Could not find symbol 'Component'. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 2 TypeScriptHTMLApp
Error 8 Build: Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 1 TypeScriptHTMLApp
Error 9 Build: ';' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 1 27 TypeScriptHTMLApp
Error 10 Build: Unexpected character "@". D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
Error 11 Build: Unexpected token; 'module, class, interface, enum, import or statement' expected. D:\TypeScriptHTMLApp\TypeScriptHTMLApp\Component.ts 3 1 TypeScriptHTMLApp
谢谢
装饰器已在 TypeScript 1.5 版中引入 ES7/ES2016,如 TypeScript 官方文档的新增功能 here.
中所述根据 this 文档,在 TypeScript 1.7 版中也引入了对 ES3 的装饰器支持。
确保您按照 TypeScript 与 ES 的正确组合来构建您的解决方案。
注意:您可以在工具 -> 选项... -> 文本编辑器 -> JavaScript/TypeScript -> 项目中验证您的 ES 版本。
VS2012 太旧,它可能只支持不支持装饰器的 TypeScript 1.0(注意 @...
)。
勾选this issue。 VS 2012 TS 版本已停止在 TypeScript 1.0.1
。
使用较新的版本,VS2015 或 VS2017 甚至 VSCode。此外,您不必只使用 Visual Studio。您可以使用任何您想要的 - WebStorm、IntelliJ、Sublime、Atom,...。
关于VS,一般安装对应版本的TypeScript SDK即可。
WebStorm 和 IntelliJ 等其他 IDE 有自己的插件来为编辑 TypeScript 提供设计时支持。
我建议您停止寻找 Angular2,转而学习最新的 Angular 版本(撰写本文时为 v4)。这个框架发展迅速并且发生了巨大变化。不要指望 2016 年年中左右的任何早期材料会帮助您满足当前要求。