在ASP.net Web表单应用程序中使用Webpack:命名空间,模块,键入和编译

时间:2018-11-11 12:28:40

标签: asp.net typescript npm webpack webforms

我正在尝试使用Visual Studio在ASP.net Web窗体应用程序中引入Webpack。

使用此属性组关闭了VS TypeScript编译器:

<PropertyGroup>
   <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>

为了使它正常工作,我遇到了无数问题,但现在仍然没有。

首先,编译器和IDE不再识别jQuery和其他库的类型。

我已经阅读了一些建议使用tsconfig文件中的“ include”,“ typeRoot”和“ types”属性的解决方案。

当我像这样指定“ typeRoot”和“ types”的值时:

"typeRoots": [
   "./node_modules/@types",
   "./Scripts/typings"
 ],
 "types": [
   "node",
   "jquery",
   "jqueryui",

当我运行build命令时,编译器仍然会抛出很多错误: TS2304:找不到名称“ $”。 TS2304:找不到名称“ jQuery”。

类型和库都确实存在于应用程序中。以前,Visual Studio可以自动识别这些内容,而无需指定上述任何类型的配置。

现在在项目中引入webpack和NPM时,每个ts文件都有很多错误,所有TypeScript名称空间和模块也都出错。

为什么会这样?

为了解决此问题,我必须在每个文件中添加引用路径,例如用于键入以及任何名称空间或模块的引用路径。

/// <reference path="./typings/jquery/jquery.d.ts" />
/// <reference path="./Modules/MyModule.ts" />

我已经尝试了各种方法来解决此问题,即使添加_resource.ts文件也不起作用,因为IDE仍无法在根目录中识别此文件。

如何在不手动添加每个文件的情况下使IDE识别类型,名称空间和模块,并使编译器成功编译?

即使我将它们添加到tsconfig的“ include”属性中,IDE仍会抱怨错误找不到。...

0 个答案:

没有答案