【发布时间】:2016-02-12 23:41:36
【问题描述】:
我在我的应用模块中注入 ngResource :
angular.module('confusionApp', ['ui.router', 'ngResource'])
,然后在我的服务中注入 $resource 依赖项:
angular.module('confusionApp')
.constant('baseURL', 'http://localhost:3000/')
.service('menuFactory', ['$resource', 'baseURL', function($resource, baseURL) {
我还将脚本包含在我的 index.html 文件中:
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="../bower_components/angular-resource/angular-resource.js"></script>
<script src="scripts/app.js"></script>
<script src="scripts/controllers.js"></script>
<script src="scripts/services.js"></script>
我在我的机器上运行一个 json-server,每当 $resource 请求数据时,浏览器的 js 控制台无法识别 $resource 并显示此错误:
错误:[$injector:unpr] 未知提供者:$resourceProvider
请帮助或指向可以提供帮助的地方!
更新
我的 bower.json 依赖项:
"dependencies": {
"bootstrap": "~3.3.5",
"font-awesome": "~4.4.0",
"angular": "1.4.x",
"angular-route": "1.4.x",
"angular-resource": "1.4.x",
"angular-ui-router": "~0.2.17"
}
【问题讨论】:
-
听起来很愚蠢,但文件真的安装了吗?您的代码没有任何问题,因此请检查以确保
../bower_components/angular-resource/angular-resource.js在您的浏览器中不是 404。如果发生这种情况,它将在您声明依赖关系的第一行死亡。 -
是的,我就是这么想的......它会先 404ed 这个文件,然后可能会显示错误,但不是......我已经检查过...... . 如果有帮助,我会发布 bower.json ......因为我使用过 bower。
-
一个无关紧要的问题:为什么你有一个服务,但你把它命名为 menuFactory?为什么不用 menuService?
-
其实我之前把它定义为工厂……然后改成服务……只是没改名字……反正……这是个好建议...我会从下次@AbdulAhmad 开始确保这一点
标签: javascript angularjs ngresource