5분 안에 지저분한 NPM 스크립트를 길들이는 방법
4564 단어 productivitybashjavascriptnode
그러나 조만간 스크립트가 단순하지 않다는 것을 알게 됩니다. 🔥 새로운 것은 아니지만 npm 문서에 숨겨져 있던 🔥 핫한 새 소식을 알려 드리려고 왔습니다. npm 스크립트의 복잡성을 추론하고 유지 관리할 수 있는 것으로 옮기는 데 도움이 될 것입니다. .
나는 op 패턴을 만드는 패턴(다운로드 필요 없음)을 만들었습니다. A, 이름과 B를 생각할 수 없었기 때문에 이름이 지정되었습니다. 이 작업이 무엇을 하는지 스스로에게 묻는다면 작업이 아마도 좋은 설명일 것입니다.
코드
package.json (simplified)
{
...
"config" : { "heads" : 7 },
"scripts": {
"compile_the_jabberwocky": "./ops.js",
"minify_the_hydra": "./ops.js"
}
}
"Adam, you fool, this is going to run the same script!"
네, 하지만 제 말을 들어보세요. 여전히 모든 스크립트가 같은 위치에 있기를 원합니다. 잠시 후에 JavaScript를 보여 드리겠습니다. 모든 것이 명확해질 것이지만 먼저 패턴의 규칙을 살펴보겠습니다.
process.env
ops.js
const lifecycle = process.env.npm_lifecycle_event;
const scripts = {
/*
* @description such docs!
* @note normally you can't comment
*/
"compile_the_jabberwocky"() {
//... Maybe exec bash or write some js or something else.
// How about concurrently spawn or handle sync tasks
},
/*
* @description proves you only need the key to match
*/
"minify_the_hydra"() {
// Get some params
const silly_var = process.env.npm_package_heads
exec('npx run_hydra');
}
}
if (lifecycle in scripts) {
scripts[lifecycle]();
}
마무리 생각
package.json의 스크립트 이름 키가 함수 이름과 일치하기만 하면 npm이 일부 스크립트를 실행하도록 하는 것이므로 이를 건너뛰고 JavaScript에서 일부 스크립트를 실행하도록 하면 됩니다.
💡 아이디어는 어디서 얻었나요?
"마지막으로 npm_lifecycle_event 환경 변수는 실행 중인 주기의 단계로 설정됩니다. 따라서 현재 일어나고 있는 일에 따라 전환하는 프로세스의 다른 부분에 단일 스크립트를 사용할 수 있습니다."
문서에서 훔쳤어요 😳 그래서 다음에 생각날 때 작업 실행자가 필요하지만 정말인가요?
Reference
이 문제에 관하여(5분 안에 지저분한 NPM 스크립트를 길들이는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adam_cyclones/tame-your-npm-scripts-in-5-minutes-55la텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)