我一直在为我的Angular 2项目添加Jasmine单元测试,并且最近更新了一些NPM软件包。我看到两个不同的错误,我怀疑它们是相关的(因此在一个问题中将它们结合起来)。Angular2构建失败,出现“无法找到名称”文档'“;其他参考资料也无法解决
首先,我得到一个构建错误,阻止我建立我的项目。当我在Angular-CLI中运行> ng build时,所有块似乎都被正确创建,但是随后我得到了一堵指向每个引用全局文档或窗口变量的地方的错误。这些错误是这样的:
,或者替换地, “无法找到名为 '窗口'。”这些引用在Visual Studio中没有被红线标出,并且我一直在使用它们很长时间没有问题,所以我猜这和最近更新我的Typescript版本有关。
同样,在我的新测试文件中,所有Jasmine引用都会被标记为未知名称。
有趣的是,测试运行无投诉;只是Visual Studio将标记放在我的测试文件中。我浏览了许多关于这个问题的SO问题,发现没有任何解决方案解决了我的问题。
这里是我的tsconfig.json样子:
我已经签了TypeRoots路径是正确的,在安装这些NPM模块。
而且我的package.json:
它应该是''lib“:[”dom“,...]'在TS配置中。 – estus
Angular 2没有对TypeScript 2.2的官方支持,Angular 4将支持2.2。您的应用可能仍然有效,但它不受支持。当你运行'npm list --depth 0'时它是否会给你任何警告/错误? – Adam
@Adam我得到三个错误:npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ karma-remap-istanbul npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ utf8 npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ webdriver-manager –