|
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