Javascript 角度负载订单问题中服务中的工厂
在我的angular代码中,为了避免代码重复,我将同一工厂注入到多个服务中。起初,当我这样做时,它开始抛出错误Javascript 角度负载订单问题中服务中的工厂,javascript,angularjs,gruntjs,Javascript,Angularjs,Gruntjs,在我的angular代码中,为了避免代码重复,我将同一工厂注入到多个服务中。起初,当我这样做时,它开始抛出错误错误:[$injector:unpr]未知提供程序 经过一些调试,很明显这是一个加载顺序问题。为了解决这个问题,在我的build.config.js文件中,我更改了module.exports.app_files.js,以便在服务之前加载工厂 我的build.config.js文件中现在有这个 module.exports = { build_dir: 'build' compile_d
错误:[$injector:unpr]未知提供程序
经过一些调试,很明显这是一个加载顺序问题。为了解决这个问题,在我的build.config.js
文件中,我更改了module.exports.app_files.js
,以便在服务之前加载工厂
我的build.config.js文件中现在有这个
module.exports = {
build_dir: 'build'
compile_dir: 'bin',
app_files: {
modules: [
'src/**/*.js',
'!src/**/*.spec.js',
'!src/**/*-service.js',
'!src/**/*-controller.js',
'!src/**/*-config.js',
'!src/**/*-directive.js',
'!src/**/*-factory.js',
'!src/**/*-filter.js',
'!src/**/*-run.js'
],
js: [
'src/**/*-factory.js',
'src/**/*-service.js',
'src/**/*-controller.js',
'src/**/*-config.js',
'src/**/*-directive.js',
'src/**/*-filter.js',
'src/**/*-run.js',
'!src/**/*.spec.js'
],
...
angular应用程序的源代码为,修改为
似乎我被迫拥有一个层次结构,而且我永远不会拥有一个依赖于名为file的服务的工厂名为file的文件。一个人是否应该在这里不是争论的焦点;我更关心等级制度
我想知道是否有其他解决方法
[编辑]:我想我已经找到了问题的根源(祈祷它能保持不变)。我正在使用
grunt-watch
进行开发。然而,当我停止这个过程并简单地运行grunt
时,一切又恢复了。感谢下面的人提出问题并确定这不是正常行为 工厂和服务之间不应该存在负载顺序依赖关系。我怀疑发生了什么事。是否可能在应用程序启动后加载工厂/服务?您需要提供更多信息。你从哪里得到那个错误的?源代码是什么?很明显,它将处于某个依赖项注入点,但是调用它的代码是什么?未知提供者是什么?谢谢你的帮助。我已经添加了源代码的链接,问题似乎已经解决了(请参见编辑)。