Articles of 命令行参数

Nodejs将命令行参数设置为常量

我想从我的命令行得到一个argv,当我要启动我的服务器,然后我想把它设置为一个模块的常量。 例如,我想从命令行定义我的日志文件path: 我的starter.js看起来像: var optimist = require("optimist"); var server = require("./start_server"); var argv = optimist.describe('logpath', 'logptah for info').argv; server.init({logpath:argv.logpath}); 我的start_server.js看起来像: var restify = require('restify'); var server = restify.createServer({ name: 'dummy-project' }); module.exports.logpath = null; function init(args){ server.listen(1234, function() { console.log("inside logs"); console.log(args.logpath); module.exports.logpath = args.logpath; console.log('%s listening at %s', server.name, server.url); }); }; module.exports.init = […]

指定可通过节点,Nodemon或Istanbul / Mocha执行的Node应用程序同样可用的optimist / minimist命令行选项

所以我有很多方法来运行我的节点应用程序: 生产和运行WebDrivertesting: node app.js 发展 nodemon app.js 摩卡testing istanbul cover node_modules/mocha/bin/_mocha — -R spec 我想使用Optimist / Minimist模块来处理命令行选项,但是,有什么办法来提供这些参数的所有上述命令以一贯的方式处理我的应用程序?

用yargs设置命令行完成

我使用节点JS创build脚本,并希望使用yargs启用asynchronous命令行完成。 yargs文档的完成部分说: “将生成的脚本连接到.bashrc或.bash_profile” 但是我没有看到有关如何生成脚本的任何信息。

如何评估eval()内的console.log(1 + 2)?

我试图通过节点控制台发送一个参数,并希望在eval函数内执行它。 什么即时消息写在控制台是这样的: node main console.log(1+1) main.js文件是这样的: var x = ""; process.argv.forEach(function (val, index, array) { console.log(index + ': ' + val); x = val; }); var eval = require('eval') eval("(" + x + ")"); 它会抛出这个错误: D:\Sandbox\jsdom>node main console.log(1+2) 0: C:\Program Files\nodejs\node.exe 1: D:\Sandbox\jsdom\main 2: console.log(1+2) evalmachine.<anonymous>:1 (console.log(1+2)) ^ ReferenceError: console is not defined at evalmachine.<anonymous>:1:2 […]

node-webkit如何parsing“open”事件参数?

我需要一个包含所有参数的数组,如gui.App.argv中的值 是否有一些函数来parsing这个? function openfile(cmdline){ console.log('command line: ' + cmdline); } openfile(gui.App.argv); //my file.txt, my file.txt (this is what I need) gui.App.on('open', function(cmdline) { openfile(cmdline); //app.exe –original-process-start-time=13049249391168190 "my file.txt" "my file2.txt" });

如何在bash命令行上输出文件列表

我正在使用handlebars.js为我们的单页应用程序呈现客户端模板(在node.js服务器端使用Jade)。 我想预编译服务器端的句柄模板,并把它们打包成一个JS文件发送给客户端。 目前,我使用handlebars来编译模板,如下所示: $ handlebars template1.handlebars template2.handlebars -f precompiled_templates.js 我想写一个bash脚本,可以读取目录中的所有*.handlebars文件,然后通过*.handlebars编译器运行它们。 所以,如果我有一个像这样的目录: templates/ temp1.handlebars temp2.handlebars temp3.handlebars temp4.handlebars 在templates目录中运行我的bash脚本(或者一行命令)本质上会运行下面的handlebars命令: $ handlebars temp1.handlebars temp2.handlebars temp3.handlebars temp4.handlebars -f precompiled_templates.js 有谁知道我可以写一个bash脚本来获取目录中的所有句柄文件到上面的命令行吗?

如何访问CLI参数的多个值

我有一个节点JS脚本,通过执行./test.js -n name1 -r us-east从命令行读取参数。 这里有两个参数-n & -r以适当的值传递。 现在我不得不提出另外一个论点,我将会收到至less一个价值和最多的价值观。 这意味着脚本被执行为: ./test.js -n name1 -i 100 101 103 -r us-east 如何查找每个参数的参数值数量,例如上面的示例参数-i有3值。 如何将这些值存储到数组中。 var data = new Object(); function usage() { return "test.js [-n|–name] [-i|–ids <id1 id2…>] [-r|–region] "; } function process_args() { var args = process.argv.slice(2); var i; for (i = 0; i > args.length; i++) […]

我的eslint不能在带有* .jspath参数的窗口中工作

我有一个使用eslint的节点项目,它似乎在Mac上运行良好,但在Windows机器中给出下面的命令提示符错误'no such file or directory. stat c:\projects\*.js 'no such file or directory. stat c:\projects\*.js 它似乎不喜欢* .js参数。 如果我删除* .js,只是指向目录,它工作正常。 或者,如果我明确地指向具有完整path的特定文件,那也是可行的。 这是我正在使用的lint npm命令 node_modules/.bin/eslint ./*.js ./**/*.js 是什么使* .js在Windows机器上不兼容?

有没有办法将自定义命令行parameter passing给Brunch?

我试图传递自定义的命令行参数早午餐,如下所示: brunch build -p myCustomArg 但不pipe我input什么,都会抛出一个错误: path\graceful-fs\polyfill.js:18 chdir.call(process, d) Error: ENOENT: no such file or directory, uv_chdir 至less我在猜测它试图“传递”我所传递的自定义参数,但是却无法识别它们,所以它会中止。 有没有什么特别的论点(比如像nodemon有一个怎样的)来区分早午餐的具体参数?

Eclipse和Node.Jsdebugging

我学习了如何使用Eclipsedebuggingnode.js ,但是如何自动执行以下过程: 我按debug 它运行命令node –debug app.js 在Eclipse中我找不到这样做。 谢谢