Angular 1.2.26 [$ injector:nomod]仅适用于缩小版本

时间:2014-10-21 17:55:32

标签: angularjs

我有以下HTML:

<!DOCTYPE html>
<html lang="en" >
    <head>
        <title>Title</title>
        <script src="Scripts/angular.min.js"></script>
    </head>
    <body>        
        Hello World
    </body>
</html>

并且给了我以下例外:

0x800a139e - JavaScript runtime error: [$injector:nomod]      
http://errors.angularjs.org/1.2.26/$injector/nomod?p0=ngLocale

如果我切换到非缩小的angular.js,则错误消失

1 个答案:

答案 0 :(得分:2)

如果不查看您的javascript文件,很难说。

通常问题是angular的依赖系统使用带有默认语法的函数参数。

例如:

app.controller('mainController', function($scope) {
  $scope.data= 'data';  
});

变为:     app.controller(&#34; mainController&#34;,函数(E){e.data =&#34;数据&#34;});

为了避免这种情况,您必须使用以下语法

app.controller('mainController', ['$scope', function($scope) {
    $scope.data= 'data!';   
}]);

因此缩小脚本不会更改依赖项名称。

您可以在https://docs.angularjs.org/tutorial/step_05向下阅读更多内容关于缩小的说明