Подтвердить что ты не робот

JSHint (r10): 'angular' не определен

У меня есть следующее:

angular.module('test')
    .controller('TestMenuController',
    [
        '$http',
        '$scope',
        '$resource',
        '$state',
        'os',
        'us',
    function (
        $http,
        $scope,
        $resource,
        $state,
        os,
        us) {

Когда я создаю это в VS2014, он дает мне сообщение об ошибке:

JSHint (r10): 'angular' is not defined. 

Может ли кто-нибудь сказать мне, как я могу избежать появления этого сообщения?

4b9b3361

Ответ 1

Один из способов решения этой проблемы - изменить ваш .jshintrc и установить angular как одну из предопределенных переменных, как сказал Джайанта.

.jshintrc будет выглядеть так:

{
  "predef": ["angular"]
}

Ответ 2

  • Один из подходов заключается в добавлении 'angular' в качестве глобальной переменной в настройках конфигурации,
  • или другой, установив путь конфигурации "jshintrc" к .jshintrc
  • документация (различные способы настройки параметров jshint)

Если вы используете grunt..

  //------------------------//
  // jshint
  //------------------------//
  /**
   * JSHint: configurations
   * https://github.com/gruntjs/grunt-contrib-jshint
   */
  jshint: {
    options: {
      jshintrc: '.jshintrc',
      jshintignore: '.jshintignore',
      reporter: require('jshint-stylish')
    },
    gruntfile: {
      src: 'Gruntfile.js'
    },
    scripts: {
      src: '<%= project.scripts %>/**/*.js'
    },
    all: [
      'Gruntfile.js',
      '<%= project.js %>/*.js',
      '<%= project.scripts %>/**/*.js',
      'test/**/*.js'
    ]
  },

и в .jshintrc(в корневом каталоге) содержит следующие параметры

{
  "curly"   : true,
  "eqeqeq"  : true,
  "undef"   : true,
  "jquery"  : true,

  // global variables
  "globals": {
    "angular"   : false,
    "jasmine"   : false,
    "$"         : false,
    "_"         : false,
    "module"    : false,
    "require"   : false
  }
}

Надеюсь, что это поможет.