将jquery指定为angularjs的依赖项会在requirejs中生成错误

时间:2014-07-25 12:47:37

标签: javascript jquery angularjs requirejs

我正在尝试并尝试在angular的config()函数中使用angular.element(jQuery包装器)。但是,在main.js文件中,只要我在角度下添加deps,它就会生成$ injector:modulerr错误(第一条评论所在的位置)

脚本标记放在我的html文件

之前
<script src="js/vendor/require.min.js" data-main="js/own/main.js"></script>

main.js文件

require.config({
    baseUrl: "js/vendor/",
    paths: {
        "jquery": "jquery-2.1.1.min",
        "angular": "angular.1.2.9.min"
    },
    shim: {
        "angular": {
            deps: ["jquery"],   // As soon as I add this, it generates a $injector:modulerr error
            exports: "angular"
        }
}
});

require(["angular"], function(angular){
    angular
    .module("app", [])          // ng-app="app" already defined in <body>
    .controller("appctrl", function($scope){  // ng-controller="appctrl" already defined in <body>
        $scope.sample = 1;      // this works fine if I don't add deps under angular in require.config
    });
});

1 个答案:

答案 0 :(得分:3)

通过在html页面中删除指令“ng-app ='urAppName'”,错误消失了。 ng-app必须由angular.bootstrap(document.body,[“urAppName”])手动引导,然后定义角度模块,例如: angular.module(“urAppName”,[])。controller().....;

请注意,您可以在页面中保留其他指令,例如ng-controller或模型数据,例如{{modelName}}。