Question

I have the following:

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

When I build this in VS2014 it gives me an error message saying:

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

Can someone tell me how I can avoid this message coming up?

Was it helpful?

Solution

One way to tackle this is to modify your .jshintrc and set angular as one of the predefined variables, as Jayantha said.

.jshintrc would look like this:

{
  "predef": ["angular"]
}

OTHER TIPS

  • One approach would be adding 'angular' as a global variable in the config options,
  • or another by setting the config options 'jshintrc' path to .jshintrc
  • documentation (different ways to configure jshint options)

If you're using 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'
    ]
  },

and in .jshintrc (at root dir) contains my following options

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

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

Hope this helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top