首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Node.js编写命令行工具

闲来无事,在浏览 GitHub 时无意中看到了 commander.js 这个工具,16k 的 start,就看了看 commander 的官方文档。...来到天气 API,发现天气查询 API 的城市字段并不是城市名字,而是城市编码,在使用命令行查询时,显然我们输的是城市名字。那该怎么办呢?...准备好这些后,就可以编写命令行工具了! 编写命令行工具 在正式编写之前,说一下 commander 的用法。...precess.argv 是 node.js 中的一个属性,当你在控制台输入参数时,这个属性就会接收到你输入到的内容,该属性会返回一个数组: // 01.jsconsole.log(process.argv...package.json) "weather": "bin/index.js" }} 打开终端在项目目录,输入命令:npm link。

3.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    玩转 Commander.js —— 你也是命令行大师

    导语 | 最近做团队底层构建工具架构升级和命令行交互打了不少交道,再加上在研究 Vue-CLI 的源码,觉得 Commander.js 作为 Node.js 下这么优秀的命令行交互工具,值得总结一下,文章主体内容搬运了...默认情况下,选项在命令行中的顺序不固定,一个选项可以在其他参数之前或之后指定。 3.1....如果在命令行中不指定具体的选项及参数,则会被定义为undefined。...可以为一个 boolean 类型的选项指定一个默认的布尔值,在命令行里可以重写它的值。...不支持重载所有的帮助信息,只能实现和内建的帮助一同展示,如下图是 Commander.js 配合 CommandLineUsage 的效果,可以看到 Commander.js 内置的帮助信息在 CommandLineUsgae

    1.8K20

    node.js如何制作命令行工具(一)

    最近有一个需求,需要写一个类似vue-cli的NPM包,通过命令行操作实现项目初始配置,所以就查看了相关资料,学习了一下如何使用node来生成自己的命令。...编写命令行 命令的目标:在当前目录下开启一个静态文件服务,端口号为8085 1.创建目录 构成命令的基础是需要一个命令文件web.js和package.json配置文件,执行以下命令: $ mkdir...其中process为node进程中的全局变量,process.argv为一数组,数组内存储着命令行的各个部分,argv[0]为node的安装路径,argv[1]为主模块文件路劲,剩下为子命令或参数,如下...调试命令行 (1)采用install方法 进入npm包目录下,执行全局install,根据package.json中bin的配置,为全局命令创建软连。 # sudo npm install ....本文是通过原生node.js来开发命令工具,而vue-cli是采用commander.js来简化命令工具开发,关于commander.js的使用方法,将在下一篇文章中介绍。

    1.8K90

    玩转 Commander.js —— 你也是命令行大师

    最近做团队底层构建工具架构升级和命令行交互打了不少交道,再加上在研究 Vue-CLI 的源码,觉得 Commander.js 作为 Node.js 下这么优秀的命令行交互工具,值得总结一下,文章主体内容搬运了...默认情况下,选项在命令行中的顺序不固定,一个选项可以在其他参数之前或之后指定。 3.1....如果在命令行中不指定具体的选项及参数,则会被定义为undefined。...可以为一个 boolean 类型的选项指定一个默认的布尔值,在命令行里可以重写它的值。...不支持重载所有的帮助信息,只能实现和内建的帮助一同展示,如下图是 Commander.js 配合 CommandLineUsage 的效果,可以看到 Commander.js 内置的帮助信息在 CommandLineUsgae

    6.7K20

    Node.js 命令行程序是如何工作的

    想在命令行输入命令时省略解释器,你可以将它写入实际运行的程序中,比如 ./bar.js: #!.../bar.js 来执行这段程序了: ❯ chmod +x bar.js ❯ ./bar.js 第一行的 chmod +x bar.js 是让系统允许将文件 bar.js 直接作为一段程序运行。...而命令行程序所依靠的便是命令行参数。 以刚才的 bar.js 为例,假设你需要将 bar 字符串重复 n 次输出,而 n 是用户决定的,你会这样做: #!...正如浏览器里的 URL 有相应的各种路由解析库一样,将 /user/egoist 解析成 { username: 'egoist' } 之类的,命令行参数当然也有,minimist 便是 node.js...命令行程序框架 类似 web 开发,你当然可以完全从头写你的命令行程序,自己实现一个命令行参数解释器,然后自行判断如何根据参数返回结果。

    10300

    如何从Node.js中的命令行读取输入

    本文翻译自How to read input from the command line in Node.js readline内置模块 您是否正在使用Node.js中开发一个小的CLI工具,并希望能够提示用户从命令行输入输入...Node.js正是为此目的提供了readline模块。 它提供了一个接口,用于从可读流(例如process.stdin)中一次读取一行数据。...第三方模块-prompt readline模块是一个低级Node.js软件包,对于复杂的用例,您可能会认为它太复杂了。...向对象添加属性 提示模块提供了另一个名为addProperties()的便捷方法,可通过从命令行添加属性数据来扩展现有对象: const prompt = require('prompt'); //...如果您打算在Node.js中构建可靠的CLI工具,则prompt可能是一个很好的选择。

    8.5K10

    inquirer.js 构建交互式命令行工具,全网详细 inquirer.js中文教程

    Inquirer 是一个流行的 Node.js 库,用于构建交互式命令行界面。它提供了一个简单而强大的 API,使得创建用户友好的交互变得容易。...可以看作是一款强大的命令行交互式问答库 www.npmjs.com/package/inq… 1. 安装 Inquirer 首先,你需要在你的项目中安装 Inquirer。...这些功能可以让你创建出更加复杂和灵活的命令行交互。...示例: { type: 'editor', name: 'bio', message: '请简要介绍一下你自己:' } 5,inquirer.js 输入后怎么处理 在 Inquirer 中,...6,实战:使用 Inquirer.js 实现一个简单的命令行计算器功能 下面我们将使用 Inquirer.js 实现一个简单的命令行计算器功能。

    74910

    使用Vue.js编写命令行界面,前端开发CLI的利器

    前言 大家好,我是webfansplz.继将 Vue 渲染到嵌入式液晶屏后,今天要跟大家分享的是如何将Vue渲染到命令行工具 :).关于命令行工具,大家应该都比较熟悉了,比如vue-cli、Vite等....Temir 介绍 Temir,一个用Vue组件来编写命令行界面应用的工具.开发者只需要使用Vue就可以编写命令行应用,不需要任何额外的学习成本....green"> {{ counter }} tests passed 组件 Temir提供了一些基础组件帮助开发者编写与扩展命令行工具...Yoga Vue提供了跑在命令行界面的接口,那我们就还缺少一个布局引擎就能把Vue 跑在命令行工具了.Temir使用了Yoga,一款Flexbox布局引擎.使用你在构建浏览器应用时使用过的类似CSS的属性

    86040

    用Vue.js写一个命令行贪吃蛇游戏

    前言 大家好,我是webfansplz.本文要分享的是如何使用Vue.js实现一个命令行贪吃蛇游戏(temir-snake-game).对于贪吃蛇游戏想必大家都不陌生了,使用Vue.js实现一个Web...版的贪吃蛇游戏似乎没什么难度,那如果是命令行版的呢?...将Vue渲染到命令行界面 使用Vue.js实现命令行贪吃蛇游戏,首先意味着我们要将Vue.js渲染到命令行界面,才能开始具体的游戏实现.我们经常用Vue.js来编写Web应用,但是Vue的能力却不仅仅局限于此...关于Temir就不在这里进行详细的介绍了,有兴趣的童鞋可以上Github查看介绍或者看使用Vue.js编写命令行界面这篇文章....贪吃蛇游戏实现 有了Temir,我们就具备了使用Vue.js编写命令行游戏的条件,接下来我们来看看游戏的具体实现: 实现拆解 首先我们对游戏实现进行一下简单的拆解,从元素+逻辑的维度来看,可以简单分为几部分

    1.1K20

    node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机插件

    node-gyp - Node.js 本地插件构建工具 node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机插件。...它包含gyp-next项目的供应商副本,该副本以前由Chromium团队使用,已扩展用来支持Node.js本机插件的开发。 请注意,node-gyp并不用于构建Node.js本身。...v2.7, v3.5, v3.6, v3.7, or v3.8 Xcode 你需要通过运行xcode-select --install来安装XCode Command Line Tools(XCode 命令行工具...如果你安装了多个Python版本,你可以用以下方式之一确定一个node-gyp可以使用的Python版本 通过设置--python命令行选项,例如: node-gyp --python...头文件 list 列出当前已安装的Node.js头版本 remove 为给定版本移除Node.js头文件 Command Options(命令项) node-gyp接受以下命令选项: -j n,--jobs

    2.5K10

    命令行参数

    'abc' ] process.argv的用法是第一个是node文件, 第二个是脚本文件, 第三个是参数 npm scripts(npm脚本)发送命令行参数 什么是npm scripts npm..."lint": "jshint *.js" "lint": "jshint **/*.js" 上面代码中,*表示任意文件名,**表示任意一层子目录。..."test": "tap test/\*.js" 传参 将命令行参数发送到npm脚本: npm run [command] [-- ] 注意必要的--,需要将参数传递到npm命令本身,并将其传递给脚本...webpack.DefinePlugin({ 'domain': process.argv[2] }), } 参考 npm scripts 使用指南[1] 如何向npm脚本发送命令行参数...编译环境中的几种传参方法[3] 参考资料 [1]npm scripts 使用指南: http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html [2]如何向npm脚本发送命令行参数

    1.9K20
    领券