zoukankan      html  css  js  c++  java
  • nodejs传递参数

    How to parse command line arguments

    Passing in arguments via the command line is an extremely basic programming task, and a necessity for anyone trying to write a simple Command-Line Interface (CLI). In Node.js, as in C and many related environments, all command-line arguments received by the shell are given to the process in an array called argv (short for 'argument values').

    Node.js exposes this array for every running process in the form of process.argv - let's take a look at an example. Make a file called argv.js and add this line:

    console.log(process.argv);

    Now save it, and try the following in your shell:

    $ node argv.js one two three four five
    [ 'node',
      '/home/avian/argvdemo/argv.js',
      'one',
      'two',
      'three',
      'four',
      'five' ]

    There you have it - an array containing any arguments you passed in. Notice the first two elements - node and the path to your script. These will always be present - even if your program takes no arguments of its own, your script's interpreter and path are still considered arguments to the shell you're using.

    Where everyday CLI arguments are concerned, you'll want to skip the first two. Now try this in argv.js:

    var myArgs = process.argv.slice(2);
    console.log('myArgs: ', myArgs);

    This yields:

    $ node argv.js one two three four five
    myArgs:  [ 'one', 'two', 'three', 'four', 'five' ]

    Now let's actually do something with the args:

    var myArgs = process.argv.slice(2);
    console.log('myArgs: ', myArgs);
    
    switch (myArgs[0]) {
    case 'insult':
        console.log(myArgs[1], 'smells quite badly.');
        break;
    case 'compliment':
        console.log(myArgs[1], 'is really cool.');
        break;
    default:
        console.log('Sorry, that is not something I know how to do.');
    }

    JS PRO TIP: Remember to break after each case - otherwise you'll run the next case too!

    //console.log(process.argv);
    var myArgs = process.argv.slice(2);
    //console.log('myArgs: ', myArgs);
    
    const dateTime = require('date-time');
    var currentTime = dateTime({local: true, showTimeZone: true, showMilliseconds: true});
    console.log(`${myArgs[0]} at ${currentTime}`)
  • 相关阅读:
    BZOJ3527: [Zjoi2014]力(FFT)
    NOIP 2018游记
    BZOJ2763: [JLOI2011]飞行路线(分层图 最短路)
    11.7NOIP模拟赛解题报告
    交互体验之产品的文案
    关于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法
    [置顶] android 与JavaScript的互相调用
    linux系统的文件类型学习
    VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld
    js判断浏览器类型 js判断ie6不执行
  • 原文地址:https://www.cnblogs.com/chucklu/p/14180166.html
Copyright © 2011-2022 走看看