首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

NodeJS记要(一)

2012-08-29 
NodeJS记录(一)最近在看r.js,顺便记录下node相关知识点。?一、标准输出console?console?对象是全局的,它下面

NodeJS记录(一)

最近在看r.js,顺便记录下node相关知识点。

?

一、标准输出console

?

console?对象是全局的,它下面的方法如下。经常用的自然log方法。

NodeJS记要(一)

?

?

二、获取命令行参数

?

如 r.js/build/jslib/node/args.js

?

define(function () {    //Do not return the "node" or "r.js" arguments    var args = process.argv.slice(2);    //Ignore any command option used for rq.js    if (args[0] && args[0].indexOf('-' === 0)) {        args = args.slice(1);    }    return args;});

?

这里用到了process,它在node中是全局的,可以直接使用。这里关心的是process.argv,用它可以获取到命令行中的参数。即可以传参给要执行的js文件。

?

c盘node目录下新建args.js,输入如下

?

console.log(process.argv);

?

执行node命令

NodeJS记要(一)

?

输出了一个数组,元素分别是字符串“node”、“C:\\node\\args.js”。

?

执行如下命令

NodeJS记要(一)

?

输出的第三个参数是“-o”。

?

当然还可以在后面输入更多的参数如“name=jack,age=30”等等。

?

以上可以看到process.argv的前两个参数是固定的,第一个永远为“node”,第二个则是当前执行的JS文件路径名。第三个(索引2)开始才是自定义的参数

?

修改下args.js文件,添加一句,如下

?

console.log(process.argv);console.log(process.argv instanceof Array);
?

执行后如下

NodeJS记要(一)

?

即,process.argv是一个数组。JS中function的arguments则不是。

?

?

有时会根据命令行参数来决定程序执行一个分支,如

?

node args.js -o 进行优化处理

node args.js -v 输出版本号

?

这时就会用到process.argv,下面是一个小程序

?

var args = process.argv;var op = args[2].replace('-', '');if (op == 'o') {console.log('optimize starting... ');} else if(op == 'v') {console.log('xx.js version: ');}
?

?

?

?

热点排行
Bad Request.