我一直在玩AngularJS——顺便说一句,这是一个非常棒的前端框架。
今天我尝试将 angular-seed 入门应用程序(可在此处找到: https ://github.com/angular/angular-seed )合并到当前存在的 Rails 3.1.3 应用程序中。
在获取演示代码时遇到了一些问题 - 此处:http ://docs.angularjs.org/#!/tutorial - 在资产管道中工作,因此仅出于测试目的,我将它们放入公共文件夹 - 老派风格。
我按照教程进行操作,并正确设置了我的所有视图、控制器和服务。但是,当我在索引页底部包含 js 文件时:
<script src="angular/app/lib/angular/angular.js" ng:autobind></script>
<script src="angular/app/js/services.js"></script>
<script src="angular/app/js/controllers.js"></script>
...没有一个控制器可以工作。我会{{ model.property }}
在模板中获取标签,而不是实际输出。
Chrome 的开发工具中没有 Javascript 错误 - 网络和资源显示所有预期的文件都正确加载。
我以为我可能忽略了代码中的某些内容,但是当我查看开发人员指南时,有一个指向 angular 的 cdn 的链接:
<script src="http://code.angularjs.org/angular-0.9.19.min.js" ng:autobind></script>
只是为了它,我用 cdn 替换了我的本地 angular.js 脚本调用,突然一切都按预期工作了。
我仔细检查了一遍,以确保我从正确的目录加载本地副本,而且我是 - 这是 angular-seed 文件附带的标准目录。该文件也显示为已正确下载的资源。
任何人都知道为什么cdn可以工作但本地副本不会?