使用nodejs开发cli项目实例

   这篇文章主要介绍了使用nodejs开发cli项目实例,本文讲解使用generator-cli-starter实现cli项目的开发,需要的朋友可以参考下

  1.分分钟使用默认选项安装完nodejs

  2.分分钟使用sudo npm install -g yo安装完yeoman

  3.通过sudo npm install -g generator-cli-starter安装cli开发脚手架

  OK, 现在我们可以使用yo cli-starter命令开始我们cli开发之旅了

  创建cli项目

   代码如下:

  yo cli-starter

  按照提示输入项目名称、命令名称,完成cli项目创建。后续的教程中我们将使用hi作为你的命令名称,如果你使用了其他命令名称,请注意替换

  Let's try first

  现在命令行中输入如下命令(如果你用的不是hi,注意替换)

   代码如下:

  hi

  效果如下:


  试个常见命令?

  我们接下来就开发一个类似ls, ls -all的命令,这里面需要用到一个node模块commander,先来安装一下:

  进入该项目根目录执行npm install --save commander,

  然后用你喜欢的editor打开bin/hi.js,并用以下内容替换原先的代码:

   代码如下:

  #!/usr/bin/env node

  'use strict';

  var program = require('commander');

  program

  .version('0.0.1');//声明hi的版本号

  program

  .command('list')//声明hi下有一个命令叫list

  .description('list files in current working directory')//给出list这个命令的描述

  .option('-a, --all', 'Whether to display hidden files')//设置list这个命令的参数

  .action(function(options) {//list命令的实现体

  var fs = require('fs');

  //获取当前运行目录下的文件信息

  fs.readdir(process.cwd(), function(err, files) {

  var list = files;

  if (!options.all) {//检查用户是否给了--all或者-a的参数,如果没有,则过滤掉那些以.开头的文件

  list = files.filter(function(file) {

  return file.indexOf('.') !== 0;

  });

  }

  console.log(list.join(' '));//控制台将所有文件名打印出来

  });

  });

  program.parse(process.argv);//开始解析用户输入的命令

  OK,现在来试试我们刚写好的命令吧,

  代码如下:

  hi -V


  hi list


   代码如下:

  hi list -a


  如何发布

  首先需要在Github上创建一个项目,并把我们刚才写的代码同步上去。

  然后通过npm publish命令将你的cli发布到npm。

  然后其他用户就可以通过npm install -g [项目名称]将你的命令安装到本地使用了

时间: 2024-12-22 00:41:55

使用nodejs开发cli项目实例的相关文章

使用nodejs开发cli项目实例_node.js

1.分分钟使用默认选项安装完nodejs 2.分分钟使用sudo npm install -g yo安装完yeoman 3.通过sudo npm install -g generator-cli-starter安装cli开发脚手架 OK, 现在我们可以使用yo cli-starter命令开始我们cli开发之旅了 创建cli项目 复制代码 代码如下: yo cli-starter 按照提示输入项目名称.命令名称,完成cli项目创建.后续的教程中我们将使用hi作为你的命令名称,如果你使用了其他命令名

nodejs开发微博实例_node.js

之前一直执着于前端开发,最近几天,开始学起了nodejs.作为一名前端开发者,见到这样一门用javascript写的后台自然是很激动的.但是,后台毕竟不同于前端,在学习的过程中,还是会遇到不少问题. 为了开始学习nodejs,一开始选择了<深入浅出nodejs>这本书,看了几章之后,得出一个结论是:真是一本好书,但是还是不会写nodejs!然后选择了另外一本教材<nodejs开发指南>,由于看过了<深入浅出nodejs>,直接跳过了这本书的前几章,写起了该书第五章的微博

nodejs开发微博实例

  本文给大家分享的是使用node.js实现开发微博的实例,主要是看了nodejs开发指南之后发现书上的代码很多已经不能用了,原因是express版本升级了,所以今天就尝试着吧开发微博的实例也升下级,推荐给大家. 之前一直执着于前端开发,最近几天,开始学起了nodejs.作为一名前端开发者,见到这样一门用javascript写的后台自然是很激动的.但是,后台毕竟不同于前端,在学习的过程中,还是会遇到不少问题. 为了开始学习nodejs,一开始选择了<深入浅出nodejs>这本书,看了几章之后,

nodejs开发环境配置与使用_node.js

先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台,一个建立在google的V8引擎上的js运行平台,就是解析js,并提供自己 的一些API给用户调用.从目前的情况来看,这个发展情况还算好,明天都有好多的前端后台工程师在加入,连一些大神也在关注甚至写博客,昨晚我还看见一篇 文章写道一个外国的网站写了将近90搞nodejs的web插件,这个真牛啊!那学习中国东东对于我们来说最直接的能带来什么利益呢:前端人员由于熟悉 js那么可以基本简单学习下linux就可以上手了,那后台工程师

使用Nodejs开发微信公众号后台服务实例_node.js

摘要: 微信,庞大的用户基数,极强的用户粘性,在近两年吸引了无数的开发者注意力. Nodejs,近两年发展非常快的开发工具,尤其适合构建移动后台.本文就以笔者自己开发的实例,来描述如何基于Nodejs开发属于自己的微信公众号.在这个实例中,主要使用到了express, wechat, mongodb, monk等模块. 前期准备: 1.申请微信公众号,前往 https://mp.weixin.qq.com/  申请,这里不做过多阐述. 2. 购买服务器, 这里推荐Amazon的EC2,首次用户可

搭建eclipse的nodejs开发环境图解

我们在前面的文章中学习了nodejs如何使用,以及一些基础理论. 工欲善其事必先利其器,这篇文章主要是教搭建eclipse的nodejs开发环境. Q:谁适合阅读此文章? A:已经非常熟练使用eclipse的开发者. [注意:前提是你已经安装了nodejs.exe] 首先,我们需要下载一个eclipse,我这里下载的是目前的最新版本. [下载eclipse Standard 4.3.1 (32位)] http://www.eclipse.org/downloads/packages/eclips

用Shell脚本快速搭建Ubuntu下的Nodejs开发环境_linux shell

nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么.在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作: 安装 git下最新的node,node包管理器,Forever和Cloud9IDE工具(可选),mongodb 10gen:注:脚本的正常运行需要比较新版本的Ubuntu,而且需要联网,因为它会连接网络去下载所有的依赖包顺序安装. 1.脚本代码: 复制代码 代码如下: #!/bin/shecho

bitbucket+Sublime Text 2配置跨平台的nodejs开发环境

由于我这个应用会在三台电脑上开发,winXP,win7,mac,所以开发环境要考虑两个问题,一是同步,而是软件差异性,同步我采用git的方式把代码托管到 https://bitbucket.org/,换电脑前先push.地址:https://bitbucket.org/voidmansun/sc_nodejs 软件方面我建议nodejs的ide用Sublime Text 2,为什么要用这个呢,我主要用的他下面的特性:代码高亮,自动补全,丰富的插件,跨平台 如此神器,肯定要用下试试,下载地址在这里

使用NodeJs 开发微信公众号(三)微信事件交互实例_node.js

微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成.比如说自定义菜单功能,必须通过发送post请求的方式生成.本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么样与微信交互的.这些功能的入口就是你在测试公众号里面填写的URL(以下用/login/wechat代替). 事件交互 扫码关注微信公众号后,微信会调用你的接口/login/wechat,并且附带一段xml信息,首先你需要获取一些签名,通过加密.排序比对是否与你填写的TOKEN一致,如果一致则进行xm