Tag: 命令行界面

有没有更好的方式与Node.js运行CLI命令?

我只写了一个脚本来发布我正在开发的产品之一。 脚本做的工作,但我真的不喜欢代码本身,看起来像意大利面代码和callback地狱加起来。 有没有更干净的方法来做到这一点? 我希望能够串行运行命令,logging输出( stdout.on('data') )和任务完成时间。 (更容易进一步debugging,等待任务完成后,放心,知道后台发生了什么) 也许使用Promise可以帮助清理一些混乱,但是我仍然觉得应该有一个更清晰的方法来处理多个命令。 关于代码的一些解释: 用你想要的提交和你想要的标签版本创build一个标签,例如: git tag 1.2.5 。 使用gulp build版本文件。 创build一个文件夹doc/<tag> 。 将doc/doc_reader.odt转换为doc/<tag>/documentation.pdf 。 (打开并导出为PDF) 在创build的文件夹中复制build/reader.js和doc/changelog.txt 。 压缩3个文件。 使用提交消息提交所有内容: Release 1.2.11 (例如) 推。 使用刚刚推送的提交和相同的标记在GitHub上创build一个新版本。 这里是代码,作为一个例子。 (ES5,节点4.6.0+) var mkdirp = require('mkdirp'); var fs = require('fs-extra'); var path = require('path'); var spawn = require('child_process').spawn; var zip = new require('node-zip')(); var package […]

JSON在nodejs上未定义

我刚把node.js升级到v6.10.3,试图运行一些testing代码。 var str = '{"foo": "bar"}'; var obj = JSON.parse(str); console.log(obj.foo); 我把它保存到一个文件test.js,并试图从节点命令提示符运行它。 Windows脚本主机说 'JSON'是未定义的 我可以打开一个Chrome窗口,打开debugging器,打开控制台并input相同的代码,并运行正确。 我已经search谷歌和SO的解释,我发现很多JSON和未定义的匹配,但没有任何关于这个问题在节点。

优雅的方法来过滤标准输出内容文件? 或者关掉摩卡的微调?

我正在使用mocha -w进行连续testing。 我遇到了另一个lib的套接字连接的bug,只有在使用mocha -w一段时间才会发生。 我需要捕获指向console.logdebugging输出到一个文件,以便大量的数据可以被search和过滤用于故障排除。 然而,摩卡的“看”微调正在阻碍。 当我尝试使用Windows Power Shell,GitHub的Git Shell或DOS将stdoutredirect到一个文件时: mocha -w >> log.txt 我从animation的微调器中获得这样的数据: [0G [96m | [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[0m [0G [96m / [90m观察[0m [0G [96m- 这个SO问题build议制作Mocha的副本,然后play()方法。 然而,通过使用黑客版本的摩卡来尝试排除可能是摩卡缺陷的问题并不理想。 所以现在看来​​是扩展我的shell知识和node.js知识的好时机。 有没有一种优雅的方式来做以下任何事情? 当它们以animation控制字符开始时,过滤掉文件? 防止摩卡渲染微调文本? (似乎没有任何标志, 像这样的文档和bug ,从来没有build议翻转解决scheme的标志)

与Node.js的命令行界面

我正在使用node.js创build命令行界面。 它具有loginfunction,login后需要根据用户从列表中select来显示输出。 我面临的问题是在第一个结果之后从节点退出。 这是再次要求login。 它不应该退出,如果退出应用程序也很好,但仍然我应该能够获取login的用户的详细信息。 举例来说,当我从列表中selectShow user profile时,它显示用户的详细信 现在,我退出应用程序(而不是从cli控制台)。 再次,我必须login才能看到其他结果。 而不是我们可以维护login用户的任何会话类的事情,以便我们可以允许用户进入系统而无需再次login。 或者build议我使用其他解决scheme来执行此操作。 ! 对不起,我的英语不好。 希望你了解我的问题。 (附图) 我正在使用查询器的用户input, 指挥官的帮助和请求 HTTP操作。 如果需要,我可以分享我的代码。

Node.js:需要帮助来创build命令行界面

我正在开发与node.js的命令行界面。 我们可以有像MySQL的自定义控制台? 就像,如果我们键入mysql并在控制台中input,它将作为mysql>所以我们可以做所有mysql相关的操作,直到我们退出。 就像在node.js中一样 > node hello hello> help hello> list apps . . hello> exit > >node world world>operation related to world . . world>exit > // or if it is executable >hello hello>help hello>list app hello>exit > 如果你提出一些build议,这将是很好的。

如何在Node.js中添加大于符号(>)的命令提示符?

我在Node.js中编写交互式CLI应用程序 我使用process.stdin.resume()继续读取stdinstream。 但是它的命令提示符在开头没有任何符号: $ node start.js Welcome! Type a command: < *no symbols here* 我怎样才能添加一个>符号来有这样一个提示: $ node start.js Welcome! Type a command: >

通过gulp-nodemon传递CLI参数

我正在使用npm包gulp-nodemon来启动我的networking服务器。 我遇到的问题是我不能将CLIparameter passing给我的服务器脚本。 我想写这样的东西: gulp –argument1 value1 然后nodemon应该调用coffee server.coffee –argument1 value1 我目前的nodemon任务: # nodemon development server gulp.task 'nodemonServer', () -> nodemon({ script: 'server.coffee' ext: 'coffee' watch: ['server/', 'server.coffee'] env: { 'NODE_ENV': 'development' } }) .on 'crash', () -> notifyServerError() 我尝试写script: 'server.coffee –argument1 value1'但我得到一个奇怪的错误: File not found: C:\Users\user\projectRoot\"server.coffee 是的,与“在文件path。这里是日志: [13:13:10] [nodemon] starting `coffee.cmd "server.coffee –argument1 value1"` […]

有没有办法在node.js cli应用程序中具有可展开/可折叠的json?

我正在处理一个node.js CLI工具,它可以处理大的json对象。 我希望能够显示根节点,然后允许用户根据需要展开和折叠对象节点。 有没有可用的软件包来设置这种function? 以下是我在浏览器中查找的展开/折叠行为的一个示例 在Inquirer.js这样的模块中,这种function是有优先权的

使用npm / nodejs命令行实用程序坚持用户首选项的最佳方法

我正在编写一个nodejs cli工具(旨在全局安装的NPM模块),它将需要存储一些用户提供的值。 在系统上存储这些值的最佳方法是什么? 例如,我应该在/etc/{my-utility-name}/conf.json下创build自己的configuration文件,并在install脚本中初始化此目录+文件 ( https://npmjs.org/doc/misc/npm-scripts.html )

如何testingNodeJs CLI的javascript

我需要围绕一个nodejs命令行工具\模块进行一些testing。 没有涉及到浏览器,我使用了很多“fs”模块来处理文件系统,所以我不确定基于浏览器的testing机制是否可以工作(沙盒)。 任何模块,这将有助于这里?