我是Angular,TypeScript和Angular 2的新手。我可以在命令行工具中使用Angular 2快速入门示例,但我很难在Visual Studio 2015中使用它。我看到有一些帖子的问题类似于我的,因为它听起来像是重复的,但我找不到任何完全解决我的问题。我试图遵循的快速入门说明是Angular 2 Quickstart 在项目文件中,我已经指定了TypeScipt 2.0,如下所示: 在Windows命令行中,输入tsc -v,然后报告版本2.2.1。
我输入npm -v然后我得到4.4.1。
构建时,我的输出中出现以下错误。
ild启动:项目:Angular2E,配置:调试任何CPU ------ 1> C:\ Users \ rpeterson \ documents \ visual studio 2015 \ Projects \ Angular2E \ Angular2E \ e2e \ app.e2e-spec.ts(12,57):error TS2345:Build:类型'string'的参数不可分配到“预期>”类型的参数。 ==========构建:0成功,1个失败,0个最新,0个跳过==========
当我打开从github存储库中提取的app.e23-spect.ts文件时,
我明白了 从'量角器'导入{browser,element,by};
describe('QuickStart E2E Tests', function () {
let expectedMsg = 'Hello Angular';
beforeEach(function () {
browser.get('');
});
it('should display: ' + expectedMsg, function () {
expect(element(by.css('h1')).getText()).toEqual(expectedMsg);
});
});
我不明白TS2345错误究竟意味着什么,除了它似乎与TypeScript有关。
我不知道它是重要的还是有用的,但是Visual Studio 2015 SP3确实在“describe”,“beforeEach”,“it”,“expect”等方面给出了一些曲折线条,当我鼠标翻转时,我得到了“找不到名称描述“等等。
我检查了已安装的Nuget包和Typescript.compiler v2.0.0。已安装。
我错过了一个包吗?我是否将项目配置错误。任何见解或建议将不胜感激,因为我老实说不知道从哪里去。
答案 0 :(得分:1)
我很高兴地分享我已成功获得Angular 2 Quickstart项目以在Visual Studio 2015 SP 3中构建和运行。因此,要查看,我在Windows命令行中使用tsc -v检查了我的tsc版本以查找我有2.2.1版。我在命令行上用npm -v检查了我的节点版本,发现我的npm版本是4.4.1。修复的第一部分是我必须为Visual Studio 2015 SP 3安装TypeScript Tools的更新版本。这似乎弥补了大多数typescript构建错误。通过编辑Angular 2 Quickstart项目附带的app.e2e-spec.ts文件来修复最终的构建错误。请注意,当我在Node中测试此项目时,它工作正常。在Visual Studio中似乎不起作用的行是
expect(element(by.css('h1')).getText()).toEqual(expectedMsg);
我必须将此行更改为
expect<any>(element(by.css('h1')).getText()).toEqual(expectedMsg);
我承认我仍然有点不清楚原因,但这就行了。