Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 包括角度配置模块_Javascript_Angularjs - Fatal编程技术网

Javascript 包括角度配置模块

Javascript 包括角度配置模块,javascript,angularjs,Javascript,Angularjs,我无法构建一个存储所有配置数据的角度模块,然后将其包含在我的主角度模块中 其目的是使系统能够更改配置数据。因此,主模块代码和控制器代码相同,但配置模块不同 我尝试了很多不同的方法来让它工作,但它们都给了我一系列的错误 我的配置模块如下所示 (function( ){ angular.module('favoriteeats.config') .constant('GLOBAL_CONFIG', { 'base_uri': '".url( )."' });

我无法构建一个存储所有配置数据的角度模块,然后将其包含在我的主角度模块中

其目的是使系统能够更改配置数据。因此,主模块代码和控制器代码相同,但配置模块不同

我尝试了很多不同的方法来让它工作,但它们都给了我一系列的错误

我的配置模块如下所示

(function( ){
    angular.module('favoriteeats.config')
    .constant('GLOBAL_CONFIG', {
        'base_uri': '".url( )."'
    });
});
我的主要(浓缩)模块如下所示。请注意,我将其与用于支架的刀片模板一起使用

(function( ){   
    var app = angular.module('favoriteeats', ['favoriteeats.config','ngResource'], function($interpolateProvider) {
        $interpolateProvider.startSymbol('<%');
        $interpolateProvider.endSymbol('%>');   
})();
当我在头部包含配置模块脚本时,我得到了这个错误

“错误:[$injector:modulerr]未能实例化模块favoriteeats,原因是: [$injector:modulerr]未能实例化模块favoriteeats.config,原因是: [$injector:nomod]模块'FavoriteAtes.config'不可用!您可能拼写错误了模块名称或忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。“

在懒散地加载JS之后,当我在页脚中包含配置模块脚本时,我得到了相同的错误

如果我将配置模块脚本添加到一个单独的JS文件中,并将其添加到主模块JS文件之前或之后,我会得到相同的错误

唯一可行的方法是,我将它包含在与主模块相同的`(function(){'容器中

(function( ){
    angular.module('favoriteeats.config')
        .constant('GLOBAL_CONFIG', {
            'base_uri': '".url( )."'
        });

    var app = angular.module('favoriteeats', ['favoriteeats.config','ngResource'], function($interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');   
})();
(函数(){
angular.module('favoriteets.config')
.constant('GLOBAL_CONFIG'{
'base_uri':'”.url()。“'
});
var app=angular.module('favoriteeats',['favoriteeats.config','ngResource'],函数($interpolateProvider){
$interpolateProvider.startSymbol(“”);
})();

这是为什么?我如何从另一个位置提取它并包含我的配置脚本!?!?我找不到答案来确定哪里出了问题。

你的生活有问题

(function( ){
    angular.module('favoriteeats.config')
    .constant('GLOBAL_CONFIG', {
        'base_uri': '".url( )."'
    });
}); // This does not close the IIFE. 
将其更改为:

(function( ){
    angular.module('favoriteeats.config')
    .constant('GLOBAL_CONFIG', {
        'base_uri': '".url( )."'
    });
}()); // or })();
编辑;我甚至没有注意到你不是在定义你的模块,而是在引用它。就像@joao和@mithon建议的那样-添加一些括号:

angular.module('favoriteeats.config', [])
angular.module('favoriteeats.config', [])

您应该通过指示模块的依赖项(在本例中为空数组)来声明模块,然后必须执行函数:

(function( ){
    angular.module('favoriteeats.config', [])
    .constant('GLOBAL_CONFIG', {
        'base_uri': '".url( )."'
    });
})();

您正在引用“favoriteeats.config”模块,而不是定义它。如果添加依赖项的空列表,它应该可以工作

angular.module('favoriteeats.config', [])