회사에서 게임 개발/운영 업무를 하다보니 신규 컨텐츠 제작 시 반복적인 신규 리소스 배포작업을 하고 있었습니다.
node.js 공부도 할겸 배포 스크립트 만들어봤습니다.
#h3 아이디 입력받기
"아이디" 는 신규 컨텐츠 마다 별도로 지정이 되기 때문에 스크립트 실행 시 입력받도록 만들고자 합니다.
해당 작업을 위해서는 ```readline``` 라이브러리가 필요합니다. ```readline``` 의 question 함수를 이용하여 입력을 받는 부분을 구현해보았습니다.
```Gruntfile.js```
### js
'use strict';
module.exports = function(grunt) {
var readline = require('readline');
var resourceId = -1;
// Project configuration.
grunt.initConfig({
});
grunt.registerTask('question', function() {
var done = this.async();
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Input resource ID: ', function(answer) {
rl.close();
resourceId = answer;
grunt.log.writeln('입력받은 아이디: ' + resourceId);
done();
});
});
grunt.registerTask('default', [
'question'
]);
};
```question``` 이라는 태스크를 만들고 기본 태스크에 ```question``` 을 등록한 상태이기 때문에 스크립트를 실행하면 아래와 같이 나오게 됩니다.
PS E:\temp\sources\grunt> grunt
Running "question" task
Input resource ID: 12
입력받은 아이디: 12
Done, without errors.
입력받은 아이디는 재사용해야하기 때문에 grunt 전역에서 사용할 수 있도록 선언하고 입력받은 값으로 설정합니다.
아이디 입력받기도 끝!!