ASP.NET Core项目中CSHTML内联JS无法启用TypeScript检查的解决方法
解决ASP.NET Core项目中CSHTML内联JS的TypeScript检查失效问题
方法1:调整Visual Studio的TypeScript检查范围
- 打开Visual Studio的工具 -> 选项 -> 文本编辑器 -> JavaScript/TypeScript -> 项目
- 找到启用完整项目检查,勾选上
- 检查文件排除模式,别把
.cshtml加进去(默认不会,但确认下更稳)
方法2:修正jsconfig.json配置
- 把
jsconfig.json放在项目根目录,明确包含.cshtml文件:
{ "compilerOptions": { "checkJs": true, "allowJs": true }, "include": [ "**/*.js", "**/*.html", "**/*.cshtml" ] }
- 保存后重启Visual Studio,或者右键项目选重新加载项目,让配置生效
方法3:给CSHTML里的JS块加正确的检查指令
- 在CSHTML的
<script>标签里,第一行就加// @ts-check,最好给script标签加上type="text/javascript"明确类型,比如:
<script type="text/javascript"> // @ts-check function testFunc(num) { return num.toUpperCase(); // 这里应该触发TS检查错误,因为数字没有toUpperCase方法 } </script>
方法4:更新TypeScript版本
- 确保用的是较新的TypeScript版本(4.0以上),旧版本对CSHTML内的JS支持差
- 打开工具 -> NuGet包管理器 -> 管理解决方案的NuGet包,找到
Microsoft.TypeScript.MSBuild包更新到最新版
内容的提问来源于stack exchange,提问作者ShortDevelopment
相关产品推荐
相关产品推荐

