2021-08-08 게시 됨2021-08-09 업데이트 됨nodejs2분안에 읽기 (약 339 단어)commander.js로 cli 도구 만들기 간단한 cli 도구를 만들어보았다 TMIcli.ts 레포 ; https://github.com/chinsun9/g-to-9-cli cli.ts1234567891011121314151617181920212223242526#!/usr/bin/env nodeimport { Command } from 'commander';import { gto9 } from 'g-to-9';import { version } from './package.json';const program = new Command();program.version(version);program .argument('<text>') .description( `replace all 'g' to '9'Examples: $ gto9 chinsung $ gto9 gg is good game $ gto9 'gg is good game'` ) .action(() => { const input = program.args.join(' '); const result = gto9(input); console.log(result); });program.parse(); #!/usr/bin/env node 최상단에 추가해줘야 한다 Windows Script HostMicrosoft JScript 컴파일 오류 추가하지 않으면 만나는 오류이다 package.jsonpackage.json12345678910{ "name": "g-to-9-cli", "version": "1.0.0", "description": "g-to-9-cli", "main": "cli.js", "bin": { "gto9": "cli.js" } // ...} package.json 에서 bin 필드에 값을 넣어주어 쉽게 cli 설정을 할 수 있다 오브젝트를 넣어주거나 스트링을 넣어줄 수 있는데, 스트링을 넣는 경우 "{cli path}" 형태로 한다. 이경우에는 프로젝트 이름으로 실행할 수 있다 오브젝트의 경우 {"{command}" : "{cli path}"} 형태로 넣어준다. 이경우에는 프로젝트 이름과 다른 커맨드를 지정해 줄 수 있다 참고 ; https://docs.npmjs.com/cli/v7/configuring-npm/package-json#bin 참고 https://github.com/tj/commander.js https://github.com/tj/commander.js/tree/master/examples https://docs.npmjs.com/cli/v7/configuring-npm/package-json#bin 내 첫 cli 도구 ; https://github.com/chinsun9/g-to-9-cli