AngularJS得到“Missing'使用严格的'陈述' - 错误,甚至很难我已经包含了这些陈述

时间:2015-10-30 10:21:48

标签: javascript angularjs jshint

我有一个控制器和两个模块分成三个文件。当我在Grunt中运行Jshint-Task时,我总是得到错误,缺少语句“use strict”。所以为了解决这个错误,我将语句包含在这三个文件中,但我仍然得到错误,我不明白为什么。由于我还在学习Angular的基础知识,我不知道为什么会发生这种情况。

感谢您的回答!

控制器:

"use strict";
angular.module('calculatorApp').controller('HomeController', ['calculatorApp', function(){
    var $this = this;

    $this.test = function () {
        $this.alert('test');
    };
}]);

模块:

"use strict";
    var  calculatorApp = angular.module('calculatorApp', ['ngRoute']);
    calculatorApp.config(function($routeProvider){

        $routeProvider
        .when('/', {
                controller: 'HomeController',
                templateUrl: 'home.tpl.html'
            })
        .otherwise({
                redirectTo: '/'
            })
    });

2 个答案:

答案 0 :(得分:0)

总是包装你的模块,以避免concat和amp; miniziming任务(避免变量冲突和泄漏到全局范围),还包括在这个函数内使用strict。

示例:

app.js

var app;
(function (app) {
    'use strict';
    angular.module('app', [
        'module1',
        'module2',
        'moduleX'
    ]);
})(app || (app = {}));

randomcontroller.js

var app;
(function (app) {
    'use strict';
    var RandomController = (function () {
        function RandomController(logger) {
            this.logger = logger;
            this.title = 'RandomView';
            this.logger.info('Activated Random View');
        }
        RandomController.$inject = ['logger'];
        return RandomController;
})();
angular.module('app').controller('RandomController', RandomController);
})(app || (app = {}));

如果有任何问题,请参阅惊人的John Papa指南 - > https://github.com/johnpapa/angular-styleguide

答案 1 :(得分:0)

我想分享我的错误解决方案。因为我的src文件夹里面有一个供应商文件夹。如果其他人遇到此错误,请检查您的文件夹结构!