AngularJS+Entity Framework Core运行报错,app.js加载失败排查与解决
排查AngularJS控制器无法加载:找不到app.js文件的解决办法
最近在VS Code搭配Entity Framework Core开发项目时,碰到了个让人挠头的小问题:明明只是在页面里用简单的AngularJS $scope变量,却完全没法正常运行,还一个劲抛错误(当时特意截了错误截图)。本来以为就是个基础配置的事儿,结果试了各种办法都没搞定,差点以为自己漏了什么核心语句。
先说说我的项目配置情况:
- 页面文件是
Index.cshtml,本身渲染是正常的 - 单独拆分了AngularJS的代码:
app.js(里面就一行注册控制器的代码:app.controller('pController', pController);),还有对应的pController.js
折腾了好一阵才发现,问题的根源居然是系统根本找不到app.js文件!页面连这个核心配置文件都没加载到,控制器自然没法注册,$scope变量也就完全不起作用了。
最后的解决办法很直接:把所有AngularJS相关的代码直接粘贴到Index.cshtml文件里,居然就立马正常运行了,问题也就这么解决了。
顺便给遇到类似问题的朋友提几个排查方向:
- 先检查js文件的引用路径是否正确,比如在cshtml里引用
app.js时,相对路径有没有写错,有没有大小写不匹配的情况(毕竟Windows和Linux环境对大小写的要求不一样) - 如果是ASP.NET Core项目,确认是否在Startup里启用了静态文件中间件(
app.UseStaticFiles()),不然静态资源文件会被拦截,没法正常访问 - 打开浏览器开发者工具(按F12),切换到Network标签,刷新页面看看有没有404的请求,这样能快速定位到哪个文件没加载成功
内容的提问来源于stack exchange,提问作者Nash
相关产品推荐
相关产品推荐

