VS2015 .NET MVC项目中Angular报错:Cannot find name 'angular'
搞定“Cannot find name 'angular'”错误的实用步骤
嘿,作为刚接触Angular的新手,遇到这个问题太正常啦!这个错误其实是TypeScript认不出全局的angular对象——毕竟你在用AngularJS和Angular(2+)混合开发的降级组件功能,但缺少了AngularJS的类型定义支持,或者依赖没配好。下面一步步来解决:
1. 安装AngularJS的类型定义包
打开项目的命令行(不管是VS2015的Package Manager Console还是终端都行),运行这个命令:
npm install @types/angular --save-dev
这个包会给TypeScript提供angular全局对象的类型信息,让它识别这个对象的结构,自然就不会报找不到名称的错了。
2. 确保AngularJS脚本已引入
在你的MVC项目的布局页(比如_Layout.cshtml)或者入口HTML文件里,得把AngularJS的脚本加上,比如:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
要是你用的是本地文件,换成项目里对应的文件路径就行。
3. 检查tsconfig.json配置
打开tsconfig.json,确认compilerOptions里包含AngularJS的类型配置:
{ "compilerOptions": { // 其他已有的配置... "types": ["angular"], "typeRoots": ["node_modules/@types"] } }
这样TypeScript编译时会自动加载AngularJS的类型定义文件。
4. 确认downgradeComponent的导入
最后再检查一下,你已经正确导入了Angular的降级相关模块:
import { downgradeComponent } from '@angular/upgrade/static';
做完这些,重新编译你的项目,那个讨厌的“Cannot find name 'angular'”错误应该就彻底消失啦!
内容的提问来源于stack exchange,提问作者Okasha Rafique
相关产品推荐
相关产品推荐

