2013-06-04 2 views
1

안녕하세요 저는 다음을 달성하려고합니다. 난 jshint 유효성 검사를 위해 꿀꿀 거리는 소리를 사용하고 있습니다. 파일에jshint 툴툴 거리는 수출 옵션

어딘가에는 내가 사용하고 있습니다 :

로거 실제로 jshint을 사용하지 않기 때문에
var logger = function() { 
// some ode 
} 

올바르게 다음과 같은 오류 나를 보여줍니다.

W098: 'logger' is defined but never used. 

나는 미사용을 false로 설정할 수 있으며 완벽하게 작동합니다. 하지만 실제로 다른 파일에서 옵션을 사용하고 사용되지 않는 변수에 대해 경고 해 주시기 바랍니다. 그래서 사용되지 않는 옵션은 나를 위해 일하지 않을 것입니다. */

* 수출 EXPORTED_LIB하지만 실제로 그런 의견에 내 파일의 혼란을 방지하기 위해 선호하는 것 :

나는 또한이 같은 인라인 주석을 사용할 수 있다고 보았다. 예를 들어 전역에 대해 할 수있는 것처럼 내 무언가 파일에서 내 보낸 옵션을 지정할 수있는 기회가 있습니까? Heres는

내 gruntfile의 jshint 부분 : 시간에 대한

jshint: { 
     // global options 
     options: { 
      camelcase: true, 
      curly: true, 
      eqeqeq: true, 
      forin: true, 
      immed: true, 
      indent: 4, 
      latedef: true, 
      newcap: true, 
      noarg: true, 
      nonew: true, 
      plusplus: false, 
      quotmark: 'single', 
      undef: true, 
      unused: true, 
      strict: true, 
      maxparams: 4, 
      maxdepth: 4, 
      trailing: true, 
      maxlen: 120, 
      browser: true, 
      node: true 
     }, 
     server_logger: { 
      src: [BASE_PATH_SERVER_LOGGER, '/**/*.js'].join(''), 
      options: { 
       browser: false 
      } 
     }, 
     client_logger: { 
      src: [BASE_PATH_CLIENT_LOGGER, '/**/*.js'].join(''), 
      options: { 
       node: false, 
       devel: true 
      } 

     } 
    } 

감사합니다.

안부 Playerwtf

UPDATE : 나는 jshint의 GitHub의 저장소에 문제를 만들어 here

답변

1

이것은 최근에 fixxed되었고 예상대로 작동합니다. 내 gruntfile

client_logger: { 
    expand: true, 
    cwd: BASE_PATH_CLIENT_LOGGER, 
    src: '**/*.js', 
    options: { 
     node: false, 
     devel: true, 
     globals: { 
      logger: true, 
      expect: true, 
      it: true, 
      describe: true, 
      beforeEach: true, 
      afterEach: true 
     }, 
     exported: ['logger'] 
    } 
} 

그러나 NPM 모듈이 아직 업데이트되지 않았습니다이 같이 사용 예를 들어

github-issue

. 이 기능을 사용하려면 jshint github 저장소에서 수동으로 최신 버전을 복사하고 현재 모듈의 버전을 바꾸거나 업데이트 될 때까지 기다려야합니다.

0

난에서 당신이 당신의 로거 파일을 제외 할 수 있도록, 당신의 SRC-파일에 파일을 제외 할 수 있다고 생각하여 기본 linting (나는 로거 파일이 여기 logger.js라고 가정), unused-flag가 꺼진 상태에서 로거 파일을 분리하여 보냅니다.

당신이 CWD를 설정 (및 물건에 가입 떠날) 수 "경기를 부정하는 패턴의 시작 부분에!">-

here에 대한 자세한 내용을 읽어 보시기 바랍니다. 그 작동 Building the files object dynamically

jshint: { 
    // global options 
    options: { 
     ... your global options here 
    }, 
    server_logger: { 
     options: { 
      browser: false 
     }, 
     files: [{ 
      cwd: BASE_PATH_SERVER_LOGGER, 
      src: ['/**/*.js', '!logger.js'] 
     }] 
    }, 
    client_logger: { 
     options: { 
      node: false, 
      devel: true 
     }, 
     files: [{ 
      cwd: BASE_PATH_CLIENT_LOGGER, 
      src: ['/**/*.js', '!logger.js'] 
     }] 
    }, 
    lint_logger: { 
     options: { 
      unused: false 
     }, 
     files: [{ 
      src: ['logger.js'] 
     }] 
    } 
} 

100 % 확실 경우,하지만 난이 적어도 올바른 방향으로 당신을지도해야한다고 생각 : 워드 프로세서에서 그에 대한 자세한 내용을 참조하십시오. 제외 할 파일을 제외하고 경로를 지정해야하는 경우 로거 파일을 별도의 폴더에 넣을 수 있으면 해당 폴더를 제외하십시오!

+0

안녕하십니까. 안녕하세요. 나는 그것에 대해 신임 감사하지 않았다. 비록 당신의 솔루션이 그다지 우아하지 않을 것이라고 확신합니다.내가 언급 한 것과 동일한 것을 고려하고 있었지만 logger.js와 같은 파일이 점점 많아 질 것이므로 모든 파일을 별도로 지정하고 싶지는 않습니다. 그러나 대안이 있는지 알아봐야 할 것입니다. 나는 수출과 같은 옵션을 정말로 기대했다 : {// exported variables} – Playerwtf