iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于node的cli工具怎么开发使用
  • 826
分享到

基于node的cli工具怎么开发使用

2023-07-05 19:07:38 826人浏览 安东尼
摘要

本篇内容介绍了“基于node的cli工具怎么开发使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!背景公司内部有维护admin和h6两套基础

本篇内容介绍了“基于node的cli工具怎么开发使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

背景

公司内部有维护adminh6两套基础模版,但是每次新项目需要打开gitlabgit地址 clone,稍微有点麻烦,所以集成一个工具,方便使用。

效果预览

基于node的cli工具怎么开发使用

插件开发

推荐使用nrm管理npm

  • 创建用户

npm adduser --reGIStry Http://127.0.0.1:4873/
  • 发布

npm publish --registry http://127.0.0.1:4873/

使用

  • 安装

npm install WEB-cli -g --registry http://127.0.0.1:4873/
  • 使用

web-cli create

实现原理

使用到的工具

  • chalk: 修改终端颜色

  • commander: 添加版本命令提示

  • inquirer: 命令行交互

  • minimis: 命令行解析

  • ora: 终端旋转器

  • shelljs: 执行shell命令

  • rimraf:删除文件夹

package.JSON

{  "name": "web-cli",  "version": "0.0.5",  "description": "前端脚手架",  "main": "dist/src/service.js",  "author": {    "name": "taosiqi",    "email":"thinlf97@gmail.com"  },  "keyWords": [    "rs",    "cli"  ],  "bin": {    "web-cli": "dist/src/bin/web-cli.js" //会注册成全局可执行文件  },  "scripts": {    "dev": "tsc -w -p .",    "build": "rimraf dist && tsc -p .",    "test": "echo "Error: no test specified" && exit 1",    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"  },}

web-cli.ts

#!/usr/bin/env node// 第一行不可少,其作用是它告诉系统这个脚本需要用node解释器来执行。// 这个文件主要是用来处理接受参数的入口文件,const Service = require('../service') //引入我们的入口文件const service = new Service() //实例化Serviceconst rawArgv = process.argv.slice(2)const args = require('minimist')(rawArgv) //解析命令行参数const command = args._[0]// 执行初始化service.run(command, args, rawArgv)

service.ts

import program from 'commander'import packageInfo from '../package.json'import { create } from "./commands/create";module.exports = class Service {    constructor() {        setupDefaultCommands() //设置默认命令    }    run(_id, _args = {}, rawArgv = []) {        program.parse(rawArgv, { from: 'user' })  //执行相应的命令    }}// 设置默认命令const setupDefaultCommands = () => {    program.version(packageInfo.version, '-v, --version', '输出当前版本号')    program.helpOption('-h, --help', '获取帮助')    program.command('create').description('新建项目').alias('c').action(async () => {        await create()    })    program.addHelpCommand(false)}

create.ts

import shelljs from 'shelljs'import inquirer from 'inquirer'import * as fs from 'fs'import rimraf from 'rimraf'import log from '../utils/log'const templateType = {    type: 'list',    message: '请选择模版类型',    name: 'type',    choices: [        {            name: 'h6',            value: 'vue3-h6-starter'        },        {            name: 'admin',            value: 'Vue3-admin-starter'        }    ]}const templateName = [    {        type: 'input',        message: '请输入项目名称:',        name: 'name',        validate: (val) => {            return val !== ''        }    }]export const create = async () => {    // 选择模版类型    let { type } = await inquirer.prompt([templateType])    // 项目名称    let { name } = await inquirer.prompt(templateName)    // 拼接git地址,自行替换「」字段    const url = `git clone http://gitlab-ci-token:「token」@「ip/域名」/pinxin/${type}.git --depth 1`    // 执行clone    await shelljs.exec(url)    // 重命名    await fs.renameSync(`./${type}`, `./${name}`)    // 删除无关文件    await rimraf(`./${name}/.git`)    await rimraf(`./${name}/.idea`)    await rimraf(`./${name}/.vscode`)    log.succeed('创建成功')    log.info(`cd ${name}`)    log.info(`pnpm install`)}

“基于node的cli工具怎么开发使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 基于node的cli工具怎么开发使用

本文链接: https://www.lsjlt.com/news/354727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于node的cli工具怎么开发使用
    本篇内容介绍了“基于node的cli工具怎么开发使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!背景公司内部有维护admin和h6两套基础...
    99+
    2023-07-05
  • 基于node的cli工具开发使用详解
    目录前言背景功能特性效果预览插件开发使用实现原理使用到的工具package.jsonweb-cli.tsservice.tscreate.ts前言 如果文章对你有帮助的话,记得一键...
    99+
    2023-05-13
    node cli开发工具 node cli
  • 如何使用node开发并发布一个cli工具
    这篇文章主要为大家展示了“如何使用node开发并发布一个cli工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用node开发并发布一个cli工具”这篇文...
    99+
    2024-04-02
  • 如何使用node编写自己的cli工具
    这篇文章主要介绍了如何使用node编写自己的cli工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。准备开发一个cli工具前首先要想好它能做...
    99+
    2024-04-02
  • 怎么使用node开发一个mycli命令行工具
    这篇文章主要介绍了怎么使用node开发一个mycli命令行工具的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用node开发一个mycli命令行工具文章都会有所收获,下面我们一起来看看吧。初始化首先要确保电...
    99+
    2023-07-02
  • 【Linux】基础开发工具使用 --- gcc
    目录 预处理 编译 汇编 链接 函数库 协助记忆 🧋GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Jav...
    99+
    2023-09-09
    linux 运维 服务器
  • 一个基于C#开发的Excel转Json工具使用教程
    目录前言项目简介技术架构项目结构主要功能使用方式1、命令模式2、界面模式总结前言 Json在程序开发中是非常常用的数据格式,对于程序员来说,阅读和编辑Json都没有什么问题,但其他人...
    99+
    2022-11-13
    c# excel转json c#转json c# json
  • 怎么开发一个node切换源小工具
    这篇文章主要介绍“怎么开发一个node切换源小工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么开发一个node切换源小工具”文章能帮助大家解决问题。思路1,调用命令 设置源npm c...
    99+
    2023-07-05
  • 基于Docker封装的开发包工具介绍
    本篇内容介绍了“基于Docker封装的开发包工具介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于 Docker1.12+ (Docke...
    99+
    2023-06-04
  • C#开发工具SharpDevelop怎么使用
    使用SharpDevelop进行C#开发的步骤如下:1. 安装SharpDevelop:从官方网站(https://www.icsh...
    99+
    2023-09-29
    C# SharpDevelop
  • 如何使用node开发一款图集打包工具
    这篇文章主要为大家展示了“如何使用node开发一款图集打包工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用node开发一款图集打包工具”这篇文章吧。比...
    99+
    2024-04-02
  • 怎么从零开发一个node命令行工具
    本篇内容介绍了“怎么从零开发一个node命令行工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是命令...
    99+
    2024-04-02
  • 基于Python的科学占卜工具开发过程
    目录背景前置知识基础原理如何产生卦象开发源代码背景 一直以来,中式占卜都是基于算命先生手工实现,程序繁琐(往往需要沐浴、计算天时、静心等等流程)。准备工作复杂(通常需要铜钱等道具),...
    99+
    2024-04-02
  • 如何使用node开发一个命令行压缩工具
    本篇内容主要讲解“如何使用node开发一个命令行压缩工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用node开发一个命令行压缩工具”吧!对比来跟 Co...
    99+
    2024-04-02
  • 基于PHP的时间戳转换工具怎么使用
    这篇“基于PHP的时间戳转换工具怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于PHP的时间戳转换工具怎么使用”文...
    99+
    2023-07-05
  • vue开发使用什么工具
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。vue开发工具1、BootstrapVue用于为 Vuejs 构建 Bootstrap 接口的开源库。链接https://bootstrap-vue.org/2、VueX...
    99+
    2023-05-14
    vue3
  • 基于java的中文分词工具ANSJ怎么使用
    这篇文章主要讲解了“基于java的中文分词工具ANSJ怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于java的中文分词工具ANSJ怎么使用”吧!ANSJ这是一个基于n-Gram+...
    99+
    2023-06-19
  • Node的进程管理工具pm2怎么使用
    本篇内容介绍了“Node的进程管理工具pm2怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PM2简介PM2是一个内建了负载均衡器的n...
    99+
    2023-07-05
  • node进程管理工具PM2怎么使用
    今天小编给大家分享一下node进程管理工具PM2怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PM2是node进程管...
    99+
    2023-07-02
  • 基于Java的guava开源库工具类
    目录基于Java的guava开源库工具类1、guava的maven配置引入 2、LoadingCache 3、Multimap 和 MultiSet4、BiMap5、Tab...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作