Page 614 - Nodejs 교과서 개정2판
P. 614

২ٜ࣌਷ ࣽࢲܳ ߄Լࢲ ੑ۱೧ب ؾפ׮  -d	public/html	-f	new나  G OFX  E QVCMJD IUNM੉ա ڙэणפ׮

           cli	copy୊ۢ ޷ܻ ١۾ೞ૑ ঋ਷ ݺ۸যܳ ࢎਊೞݶ * ৬ੌ٘஠٘ ݺ۸যо प೯ؾפ׮

         DPNNBOEFSীࢲ ঌইفযঠ ೡ Ѫ਷ ӝࠄ ݺ۸য cli ח * ݺ۸যী ೧׼ೞ૑ ঋח׮ח Ѫੑפ׮  ੉ ݺ۸যী

         ز੘ਸ ୶оೞ۰ݶ * ݺ۸যܳ হগҊ ੌ߈ actionীࢲ ݒѐ߸ࣻী ٮۄ ࠙ӝ ୊ܻܳ ೧ঠ ೤פ׮

         DPNNBOEFSܳ ࢎਊೞ؊ۄب ৈ੹൤ ݺ۸যܳ ৻ਕঠ ೤פ׮  ࢸݺࢲب ઁҕೞҊ ২࣌ ࣽࢲب ߄Ե ࣻ ੓૑݅

         ࠛಞೠ Ѫ੉ ࢎपੑפ׮  ٮۄࢲ JORVJSFS۽ cli ݺ۸যܳ ࢎਊೡ ٸ ࢎਊ੗৬ ࢚ഐ੘ਊೡ ࣻ ੓ب۾ ٜ݅যࠇ

         द׮

          command.js
           #!/usr/bin/env	node
           const	{	program	}	=	require('commander');
           const	fs	=	require('fs');
           const	path	=	require('path');
           const	inquirer	=	require('inquirer');
           ...
           program
           		.command('template	<type>')
           		.usage('<type>	--filename	[filename]	--path	[path]')
           		.description('템플릿을	생성합니다.')
           		.alias('tmpl')
           		.option('-f,	--filename	[filename]',	'파일명을	입력하세요.',	'index')
           		.option('-d,	--directory	[path]',	'생성	경로를	입력하세요',	'.')
           		.action((type,	options)	=>	{
           				makeTemplate(type,	options.filename,	options.directory);
           		});


           program
           		.action((cmd,	args)	=>	{
           				if	(args)	{
           						console.log('해당	명령어를	찾을	수	없습니다.');
           						program.help();
           				}	else	{
           						inquirer.prompt([{
           								type:	'list',
           								name:	'type',
           								message:	'템플릿	종류를	선택하세요.',
           								choices:	['html',	'express-router'],
           						},	{
           								type:	'input',
           								name:	'name',
   609   610   611   612   613   614   615   616   617   618   619