服务中的角度负荷订单问题的工厂

时间:2014-11-28 10:43:19

标签: javascript angularjs gruntjs

在我的角度代码中,为避免代码重复,我将同一个工厂注入多个服务。起初,当我这样做时,它开始抛出错误Error: [$injector:unpr] Unknown provider

经过一些调试后,很明显这是一个加载订单问题。为了解决这个问题,我在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'
],
...

角度应用程序的源代码为here,修改为here

似乎我被迫拥有一个层次结构,而且我永远不会有一个工厂命名的文件,它依赖于一个名为file的服务。是否应该或不应该在这里辩论;我更关心等级制度。

我想知道是否有另一种解决方法?

[编辑]:我想我找到了问题的根源(手指交叉,它保持固定)。我正在使用grunt watch进行开发。但是,当我停止这个过程并简单地运行grunt时,一切都很开心。感谢下面的人提问并确定这不是正常行为!

0 个答案:

没有答案