我们最近搬到了最新的角度2.0,并开始使用angular-cli,webpack来构建我们的应用程序。截至目前,当我们使用ng测试,构建等时,应用程序运行正常并提供所需的输出,但是,自动编译(使用webstorm)总是会产生大量错误。之前我们曾经提供过一个main.ts,它在术语上指的是其他d.ts文件。 main.ts用于tsconfig.json。所以一切顺利,没有任何错误。 例如像这样的简单测试会为describe,it,expect发出静态编译错误。
describe("it is a suite",()=>{
it("it is a test",()=>{
expect(1).toBe(2);
})
});
如果我在此测试文件中包含jasmine.d.ts文件引用,则一切都会消失。
包括来自' @ angular / core / testing'抛出没有这样的导出成员的错误。
所以,问题 - 我们应该在哪里以及如何包含类型定义文件以避免这种静态编译?
更多信息 - 在webstorm设置中,我选择了捆绑(1.8.10)版本和启用的typescript编译器,我使用的是tsconfig.json
tsconfig.json包含来自angular-cli项目here的内容 添加在文件部分包括main.ts和typings.d.ts
typing.d.ts没有任何内容,因为main.ts包含对' typings'中引用的其他d.ts文件的引用。根目录下的文件夹。
答案 0 :(得分:1)
问题是WebStorm中的TypeScript配置。
Angular需要TypeScript版本2或更高版本。其中一个主要原因是通过安装在@types
范围内的npm软件包来协调类型信息。
正如您所看到的,here @types/jasmine
是一个开发依赖项,它将提供describe
,it
和expect
的类型信息。
答案 1 :(得分:0)
Angular 2的Webstorm Typescript配置
如果您使用的是实际的angular-cli版本1.0.0-beta.17,则需要将打字稿版本从捆绑版本1.8.10 更改为打字稿版本 2.0.2 这是由angular-cli通过package.json安装的。
可以这样做:
在对话框中
设置/语言& frameworks / typescript /配置TypeScript编译器
选择自定义目录:“YourProjectDir”/ \ node_modules \ typescript \ lib
对话框中的设置/语言&框架/打字稿
检查编译器启用类型脚本编译器和 选择使用tsconfig.json
因为你已经完成了。
这就是你所要做的。 你不需要来安装任何茉莉花的打包(不再是)。正如@Brocco在他的回答中所描述的那样,这是由@clales / jasmine的angular-cli完成的。
如果您不使用Angular-cli:
npm install @types/jasmine --save-dev