Angular2构建失败"找不到名称'文件'&#34 ;;其他参考也无法解决

时间:2017-03-20 16:01:07

标签: angular typescript jasmine

我一直在努力将Jasmine单元测试添加到我的Angular 2项目中,并且最近更新了一些NPM包。我看到两个不同的错误,我怀疑是相关的(因此将它们合并在一个问题中)。

首先,我收到一个构建错误,导致我无法构建项目。当我在Angular-CLI中运行> ng build时,所有的块看起来都是正确创建的,但是我得到一个错误的墙,指向我引用全局文档或窗口变量的每个地方。错误看起来像这样:

example error

或者,换句话说,"找不到名称'窗口'。"这些引用在Visual Studio中没有更新,并且我已经使用它们多年没有任何问题,所以我猜这与最近更新我的Typescript版本有关?

同样,在我的新测试文件中,所有Jasmine引用都被修改为未知名称。

example of redlining in a jasmine test file

有趣的是,测试没有抱怨;它只是Visual Studio在我的测试文件中放置了标记。我已经查看了很多有关此问题的SO问题,发现没有一个解决方案可以解决我的问题。

这是我的tsconfig.json的样子:

tsconfig.json file

我已检查过TypeRoots路径是否正确以及是否已安装这些NPM模块。

我的package.json:

package.json file

1 个答案:

答案 0 :(得分:6)

TypeScript配置应该有

"lib": ["dom", ...] 

以便使用特定于浏览器的全局变量,包括document

为了使用Jasmine全局变量,必须安装@types/jasmine包。