我正在使用带有TypeScript 1.8.5的Visual Studio 2015 Update 1。
我有一个使用Angular2的ASP.NET MVC 4.6 Web应用程序。
我使用以下设置设置了我的TypeScript编译选项:
<PropertyGroup>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>System</TypeScriptModuleKind>
<TypeScriptModuleResolution>node</TypeScriptModuleResolution>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
ErrorList不包含构建错误,但它确实包含Intellisense错误,例如:
Cannot find module 'angular2/core'
但是在node_modules文件夹下,Angular2以及我所有的其他依赖项都应该是它们应该存在的位置。
因此,TypeScript 成功编译到JavaScript,生成的JavaScript 在运行时,但我在Visual Studio环境中看到 Intellisense错误我应用程序的大部分TypeScript文件。
此外,我所依赖的一些组件,例如ag-grid-ng2,在node_modules下具有正确的TypeScript定义文件,但Intellisense将它们视为未键入(换句话说,键入为“any”)
为什么?
答案 0 :(得分:0)
问题由以下原因解决:
<TypeScriptModuleKind>
设置从系统更改为 CommonJs 不要跳过第2步。不,卸载和重新加载项目无济于事。
我不确定为什么在重新启动Visual Studio之前Intellisense错误不会消失,但那是我们的修复。