2017-04-23 7 views
0

친애하는 stackoverflow 사용자 저는 Linux 사용자이고 동료와 함께 앱을 개발 중입니다. 그들은 Windows를 사용하고 문제가 내 package.json에 내가 같은 보이는 린터 스크립트를 가지고 있다는 것입니다 :Windows에서 for 루프를 사용하여 재귀 적으로 반복합니다. node_modules 및 그 하위 디렉토리는 제외합니다.

"scripts": { 
    "lint": "eslint '.'" 
} 

다음 스크립트는 리눅스에서 잘 작동을합니다 (재귀 적 node_modules 폴더를 제외한 모든 파일을 lints)하지만, Windows에서 실패합니다. 웹을 통해 검색 중이므로 Windows 사용자가 사용해야하는 스크립트를 발견했습니다.

"wlint": "for /r %f in (*.js) do eslint %f" 

내 동료는 그것이 node_modules 디렉토리를 통해 이동한다는 사실을 제외하고 Windows에서 잘 작동한다는 얘기했다.

질문 :node_modules 디렉토리를 제외하고 스크립트를 수정하는 방법은 무엇입니까?

답변

2

다음 명령은 경로 이름을 파이프 라인에 에코하여 문자열 \node_modules\이없는 행을 찾은 다음 eslint를 실행합니다.

FOR /R %f IN (*.js) DO (ECHO %~f | (findstr /V /L "\\node_modules\\" >NUL && eslint "%~f")) 

이렇게하면 원하는 작업을 수행 할 수 있습니다.

+0

Windows가 경로를 처리하는 것처럼 대/소문자를 구분하지 않고'findstr'에'/ I' 옵션을 추가하면 ... – aschipfl