【问题标题】:How to get more verbose error info in Angular?如何在 Angular 中获取更详细的错误信息?
【发布时间】:2014-07-27 13:32:05
【问题描述】:

我在 Chrome 中只收到此错误文本。没有任何其他信息:

这是什么意思?发生了什么?有没有办法告诉 Angular 或 Chrome 显示更详细的错误信息?

这是我的 app.js 文件。没有其他内容:

'use strict';


// Declare app level module which depends on filters, and services

var vsApp = angular.module('vsApp', [
    'ngRoute',
    'vsApp.filters',
    'vsApp.services',
    'vsApp.directives',
    'vsApp.controllers'
]);

vsApp.config(["$routeProvider"], function($routeProvider) {
    $routeProvider.when('/registration', {templateUrl: 'partials/reg.html', controller: 'regCtrl'});
    $routeProvider.when('/login', {templateUrl: 'partials/login.html', controller: 'loginCtrl'});
    $routeProvider.otherwise({redirectTo: '/'});
});

vsApp.controller("regCtrl", function() {});
vsApp.controller("loginCtrl", function() {});

ng-app 属性包含:

<!DOCTYPE html>
<html ng-app="vsApp">

我的&lt;head&gt;标签:

<script id="angularScript" src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-route/angular-route.js"></script>
<script src="/assets/js/app.js"></script>

UPD:

量角器带来了更多信息:

   Message:
     UnknownError: unknown error: [$injector:modulerr] Failed to instantiate module vsApp due to:
Error: [ng:areq] Argument 'fn' is not a function, got string
http://errors.angularjs.org/1.3.0-build.2795+sha.222d473/ng/areq?p0=fn&p1=not%20a%20function%2C%20got%20string
    at http://localhost:3000/bower_components/angular/angular.js:78:12
    at assertArg (http://localhost:3000/bower_components/angular/angular.js:1583:11)
    at assertArgFn (http://localhost:3000/bower_components/angular/angular.js:1593:3)
    at annotate (http://localhost:3000/bower_components/angular/angular.js:3318:5)
    at Object.invoke (http://localhost:3000/bower_components/angular/angular.js:3986:21)
    at runInvokeQueue (http://localhost:3000/bower_components/angular/angular.js:3915:35)
    at http://localhost:3000/bower_components/angular/angular.js:3924:11
    at Array.forEach (native)
    at forEach (http://localhost:3000/bower_components/angular/angular.js:320:11)
    at loadModules (http://localhost:3000/bower_components/angular/angular.js:3905:5)

【问题讨论】:

    标签: javascript angularjs google-chrome


    【解决方案1】:

    我不知道如何获取更详细的错误消息。我认为这甚至是不可能的。但是,您似乎至少有一个语法错误:

    vsApp.config(["$routeProvider", function($routeProvider) {
       /* notice the [ ] */
    }]);
    

    因为您正在使用带注释的依赖项注入,就像在文档中一样:https://docs.angularjs.org/guide/providers#providers_provider-recipe

    myApp.config(["unicornLauncherProvider", function(unicornLauncherProvider) {
      unicornLauncherProvider.useTinfoilShielding(true);
    }]);
    

    无论如何,我试图重现您收到的错误消息,但我只获得有用的错误消息。见http://jsfiddle.net/CE6j9/1/

    Uncaught Error: [$injector:modulerr] Failed to instantiate module vsApp due to:
    Error: [ng:areq] Argument 'fn' is not a function, got string
    http://errors.angularjs.org/1.2.1/ng/areq?p0=fn&p1=not%20a%20function%2C%20got%20string
    at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:78:12
    at assertArg (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:1346:11)
    at assertArgFn (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:1356:3)
    at annotate (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:2926:5)
    at Object.invoke (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3587:21)
    at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3534:37
    at Array.forEach (native)
    at forEach (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:300:11)
    at loadModules (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3521:5)
    at createInjector (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3461:11)
    http://errors.angularjs.org/1.2.1/$injector/modulerr?p0=vsApp&p1=Error%3A%2…cloudflare.com%2Fajax%2Flibs%2Fangular.js%2F1.2.1%2Fangular.js%3A3461%3A11)
    http://errors.angularjs.org/1.2.1/$injector/modulerr?p0=vsApp&p1=Error%3A%2…cloudflare.com%2Fajax%2Flibs%2Fangular.js%2F1.2.1%2Fangular.js%3A3461%3A11)     angular.js:78
    (anonymous function) angular.js:78
    (anonymous function) angular.js:3555
    forEach angular.js:300
    loadModules angular.js:3521
    createInjector angular.js:3461
    doBootstrap angular.js:1282
    bootstrap angular.js:1297
    angularInit angular.js:1246
    (anonymous function) angular.js:20126
    trigger angular.js:2298
    (anonymous function) angular.js:2562
    forEach angular.js:300
    eventHandler 
    

    也许你有其他干扰? 当我点击箭头时,我得到了错误的下半部分(带有行号)。也许您在 chrome 中的设置有误?

    【讨论】:

    • 是的!它完成了这项工作。问题出在语法上。
    • 是的,我还制作了一个 jsfiddle 来尝试重现您的错误消息,但我只得到一个全面的:/
    猜你喜欢
    • 2021-12-23
    • 2012-07-30
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多