gpt4 book ai didi

javascript - Angular 模块配置中不断出现注入(inject)错误

转载 作者:行者123 更新时间:2023-12-03 05:06:59 27 4
gpt4 key购买 nike

问题是我无法将常量从一个模块插入到另一个模块的配置中。

myApp.module.js:

'use strict';

angular.module('myApp', [
'myApp.base',
'ui.router',
'ui.bootstrap',
'myApp.common'
]);

myApp.config.js

'use strict';

angular
.module('myApp')
.constant('appConfig', applicationConfiguration())

function applicationConfiguration() {
var config = {
debug: true
};

switch (window.location.hostname) {
case 'www.myapp.net':
config.apiUrl = 'www.myapp.net/';
config.publicSiteUrl = "www.myapp-public.net";
break;
case 'localhost':
config.apiUrl = 'http://localhost:61057/';
config.publicSiteUrl = "http://localhost:57563/";
break;
}

return config;
}

这是我尝试使用它的地方:

'use strict';

angular.module('myApp.base', [
'myApp'
])
.config(['$stateProvider','appConfig', function configState($stateProvider, appConfig) {

$stateProvider
.state('public', {
...
})
.state('publicSite', {
url: appConfig.publicSiteUrl,
external: true
});
}])
.run(function(){});

当我运行代码时,我不断收到以下错误:

Error: [$injector:modulerr] Failed to instantiate module myApp due to:
[$injector:modulerr] Failed to instantiate module myApp.base due to:
[$injector:unpr] Unknown provider: appConfig

最佳答案

我不知道你到底在做什么! :| (将常量放在App中,而不是base中,并将路由放在base中而不是App中,或者不将它们放在一起的原因以及许多其他问题)
但也许这会解决你的问题。

myApp.module.js:

'use strict';

angular.module('myApp', [
'ui.bootstrap',
'myApp.common'
]);

myApp.config.js

'use strict';

angular
.module('myApp')
.constant('appConfig', applicationConfiguration)

function applicationConfiguration() {
var config = {
debug: true
};

switch (window.location.hostname) {
case 'www.myapp.net':
config.apiUrl = 'www.myapp.net/';
config.publicSiteUrl = "www.myapp-public.net";
break;
case 'localhost':
config.apiUrl = 'http://localhost:61057/';
config.publicSiteUrl = "http://localhost:57563/";
break;
}

return config;
}

使用它:

'use strict';

angular.module('myApp.base', [
'myApp',
'ui.router',
])
.config(['$stateProvider','appConfig', function configState($stateProvider, appConfig) {

$stateProvider
.state('public', {
...
})
.state('publicSite', {
url: appConfig.publicSiteUrl,
external: true
});
}])
.run(function(){});

关于javascript - Angular 模块配置中不断出现注入(inject)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41972887/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com