|
58 | 58 | */
|
59 | 59 | function route(config) {
|
60 | 60 |
|
61 | | - function rewriteConfig(config) { |
62 | | - if (config.hasOwnProperty('controllerUrl') || config.hasOwnProperty('dependencies')) { |
63 | | - var dependencies = config.dependencies; |
64 | | - if (dependencies === undefined) { |
65 | | - dependencies = []; |
66 | | - } else if (typeof(dependencies) === 'string') { |
67 | | - dependencies = [dependencies]; |
| 61 | + function collectDependencies(config, dependencies) { |
| 62 | + if (config.controllerUrl) { |
| 63 | + dependencies.push(config.controllerUrl); |
| 64 | + //delete config.controllerUrl; |
| 65 | + } |
| 66 | + if (config.dependencies) { |
| 67 | + if (typeof(config.dependencies) === 'string') { |
| 68 | + dependencies.push(config.dependencies); |
| 69 | + } else { |
| 70 | + [].push.apply(dependencies, config.dependencies); |
68 | 71 | }
|
69 | | - if (config.controllerUrl) { |
70 | | - dependencies.push(config.controllerUrl); |
71 | | - } |
72 | | - delete config.dependencies; |
73 | | - delete config.controllerUrl; |
74 | | - |
75 | | - var resolve = config.resolve || {}; |
76 | | - resolve['$dummy'] = resolveDependencies(dependencies); |
77 | | - config.resolve = resolve; |
| 72 | + //delete config.dependencies; |
78 | 73 | }
|
79 | 74 | }
|
80 | 75 |
|
81 | | - // multiple views support |
| 76 | + var dependencies = []; |
| 77 | + |
| 78 | + collectDependencies(config, dependencies); |
| 79 | + |
82 | 80 | if (config.hasOwnProperty('views')) {
|
| 81 | + // multiple views support |
83 | 82 | Object.keys(config.views).forEach(function(view) {
|
84 | | - rewriteConfig(config.views[view]); |
| 83 | + collectDependencies(config.views[view],dependencies); |
85 | 84 | });
|
86 | | - } else { |
87 | | - rewriteConfig(config); |
| 85 | + } |
| 86 | + |
| 87 | + if (dependencies.length > 0) { |
| 88 | + var resolve = config.resolve || {}; |
| 89 | + resolve['$dummy'] = resolveDependencies(dependencies); |
| 90 | + config.resolve = resolve; |
88 | 91 | }
|
89 | 92 |
|
90 | 93 | return config;
|
|
0 commit comments