当前位置: 首页 > 后端技术 > Node.js

入门cli

时间:2023-04-03 12:44:06 Node.js

overview这个例子可以创建一个目录和两个文件。initprojectmkdirprojectCommandcdprojectCommandlernainitlernacreatetestCommandlernaaddcommanderdefinedmodify./projectCommand/packages/testCommand/package.json{...“bin”:{...“demo”:“./bin/initProject.js”,}}initcli在./projectCommand/packages/testCommand/bin/initProject.js中创建。编辑内容如下:#!/usr/bin/envnodeconstprogram=require('commander')constfs=require('fs')console.log('begin')程序。command('create').description('createanewproject').option('-f,--file','主文件名').option('-m,--minor','创建次要文件').action((projectName,options)=>{console.log('projectName',projectName)console.log('options',options)fs.mkdir(`./${projectName}`,(error)=>{if(error){console.log('该项目已经存在,无法再次创建。')}else{console.log('目录创建成功')fs.writeFile(`./${projectName}/${options.file}`,'这是主文件。',(err)=>{if(err){console.log('创建主文件失败')}else{console.log('创建主文件成功')}})if(options.minor){fs.writeFile(`./${projectName}/minor.md`,'这是次要文件。',(err)=>{if(err){console.log('创建主文件失败')}else{console.log('创建主文件成功')}})}}})})//解析命令。即根据终端输入的内容执行相应的命令。program.parse(process.argv)usage使用本包中的命令执行./projectCommand/packages/testCommand下的npmlink然后执行initProjectcreateli-fmain.js-m,然后输出:beginprojectNamelioptions{file:'main.js',minor:true}创建目录成功创建主文件成功创建主文件成功如果执行initProjectcreateli1-fmain.js,也会执行相应的输出。后记指挥官所做的工作是在终端中放置命令、标签、参数等。传递给定义的方法。编写命令行并使用commander来满足您的任何需要。主要是program.command(..).option(..)。这太简单了。有一定的node.js基础。这需要一定的知识储备。要恢复工作,请在./projectCommand/packages/testCommand下执行npmunlink