&&
으로 묶어줌으로써 스크립트를 한 번에 실행할 수 있지만, 오류가 발생하면 스크립트의 어느 부분이 실패했는지 확인하기 어려울 수 있다.
// package.json
{
"scripts": {
"test": "rm -rf ./logs && mocha --recursive && jslint ."
}
}
pre-
로 시작하는 스크립트는 그 뒤에 오는 스크립트명과 일치하는 스크립트 실행 전에 실행,
post-
로 시작하는 스크립트는 그 뒤에 오는 스크립트 명과 일치하는 스크립트 실행 후에 실행된다.
이렇게하면 각 스크립트의 기능이 더 명확해지고, 오류가 난 경우에 어떤 스크립트가 실패했는지 정확히 알 수 있으므로 오류를 디버그하기가 훨씬 쉽다.
하지만 여러 스크립트에서 각각 사용하는 경우 package.json이 지저분해질 수 있다.
// package.json
{
"scripts": {
"pretest": "rm -rf ./logs", // 1
"test": "mocha --recursive", // 2
"posttest": "jslint ." // 3
}
}
간단하고 오류가 날 경우가 없고, 분리가 필요하지 않은 명령어의 경우에 &&
, 명령어가 길어져서 명확하게 분리해야할 경우는 pre-
, post-
를 사용하는 형태로 나눠서 선택해 사용하면 될 것 같다.
출처