原文 手把手教你写一个 Node.js CLI 强大的 Node.js 除了能写传统的 Web 应用,其实还有更广泛的用途.微服务.REST API.各种工具……甚至还能开发物联网和桌面应用.JavaScript 不愧是宇宙第一语言. Node.js 在开发命令行工具方面也是相当方便,通过这篇教程我们可以来感受下.我们先看看跟命令行有关的几个第三方包,然后从零开始写一个真实的命令行工具. 这个 CLI 的用途就是初始化一个 Git 仓库.当然,底层就是调用了 git init,但是它的功能不止这…
0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node中,我们很容易就能实现一个命令行工具.通过借助npm install -g安装,就能直接调用命令行工具了. 1.1.创建项目 首先,命令行也是一个node程序,那么首先通过npm init初始化一个Node项目. json // package.json { "name": "n…
Logstash 的命令行入门 ( 附上相关实验步骤 ) 在之前的博客中,我们已经在 Macbook Big Sur 环境下安装了 ELK 的相关软件,并且已经可以成功运行对应的模块: 如果没有安装的同学,或者对于安装有困惑的朋友请点击下边的链接,仅限于 Mac OS 环境的安装指南,后期可能会补上在 Linux 下的安装步骤: https://www.cnblogs.com/doherasyang/p/14629555.html 目前,我在 ELK方向 的主要的精力都在学习 Elasticse…
工作中接到新项目,开发前都需要先规划项目目录,然后一个个创建文件,搭建sass编译环境,下载jquery,Swiper等类库... 这些准备工作都要花上不少时间.每做一个项目,都会遇到同样的问题,再重复一遍吗? 是时候做点改变了:编写自己的cli工具,一行命令,3秒钟进入coding状态! 本文以自己的my-cli为例,将开发到发布过程完整记录下来,看完本文,你将学会如何从零开发一个cli项目,如何上传到github库,以及如何使用npm发布自己的包. 准备 开发一个cli工具前首先要想好它能做…
cli是command-line interface的缩写,即命令行工具,常用的vue-cli, create-react-app, express-generator 等都是cli工具. 本文以自己开发my-cli为例,将开发到发布过程完整记录下来,看完本文,你将学会如何从零开发一个cli项目,如何上传到github库,以及如何使用npm发布自己的包. 准备 开发一个cli工具前首先要想好它能做什么.以我自己为例,我需要一个工具,让我能只输入一行命令就帮我快速搭建好项目结构,就像这样: 是不是…
如何用node开发自己的cli工具 灵感 写这个工具的灵感以及场景源于youtube的一次闲聊 github 地址 blog首发 使用场景 原本我们写博客展示shell,例如:安装运转docker,一键部署脚本,等一些终端操作,我们需要进行大量的截图展示给用户,为什么不能更加直观方便的生成一个网页呢? 如何使用 安装 sudo npm install share_shell -g 帮助 tw --help #1.0暂时用这个命令,没想到好的缩写 查看版本 tw --version || tw -…
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类如下图所示: net.Server类可以用来创建一个TCP或本地服务器,继承了EventEmitter. Socket类如下: net.Socket类一般用创建一个socket客户端或者是net.Server connection事件的参数. 工厂方法如下: 以上三个图展示了API的使用,其实NET…
构建工具是如何用 node 操作 html/js/css/md 文件的 从本质上来说,html/js/css/md ... 源代码文件都是文本文件,文本文件的内容都是字符串,对文本文件的操作其实就是对字符串的操作. 操作源代码的方式又主要分成两种: 当作字符串,进行增.删.改等操作 按照某种语法.规则,把字符串读取成一个对象,然后对这个对象进行操作,最后导出新的字符串 1. 操作 html 文件 html 的语法比较简单,并且一般操作 html 都是插入.替换.模板引擎渲染等在字符串上的操作,所…
Elasticsearch 是一款开源的搜索引擎,由于其高性能和分布式系统架构而备受关注.本文将讨论其关键特性,并手把手教你如何用它创建 Node.js 搜索引擎. Elasticsearch 概述 Elasticsearch 底层使用 Apache Lucene 库,Apache Lucene 自身是一款高性能.基于文本的搜索引擎库. Elasticsearch 并不以提供数据存储和检索等类数据库功能为核心目标,相反,它以搜索引擎(服务器端)为目标,意在提供数据索引.数据检索.和数据实时分析功…
用node编写自己的cli工具   工作中接到新项目,开发前都需要先规划项目目录,然后一个个创建文件,搭建sass编译环境,下载jquery,Swiper等类库... 这些准备工作都要花上不少时间.每做一个项目,都会遇到同样的问题,再重复一遍吗?是时候做点改变了:编写自己的cli工具,一行命令,3秒钟进入coding状态! 本文以自己的my-cli为例,将开发到发布过程完整记录下来,看完本文,你将学会如何从零开发一个cli项目,如何上传到github库,以及如何使用npm发布自己的包. 准备 开…