Node.js先睹为快(2)

本文介绍如何利用Node.js中的optimist模块读取命令行参数,并使用readline模块接收用户输入。此外,还展示了如何结合jQuery处理文件内容,包括读取文件、解析HTML并提取段落。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们来看看如何读取命令参数:

安装optimist模块:npm install optimist;

测试代码:

var argv = require("optimist").argv;

for(var i = 0; i < argv.times; i++) {
    console.log(argv._[0] + 'on loop number' + (i + 1));
}

我们输入不同参数测试:

  • --times 8
  • --times 8 echoing

  • --times 8 Spinning Echoing
  • Spinning --times 8 echoing

我们可以看到:

  • optimist模块可以用于获取parameter(参数,例如times)和flag(标志,例如Spinning和Echoing)


下面我们看看如何获取输入信息:

readline是一个核心模块,所以我们无需额外获取;

我们的代码:

// get readline module reference
var rl = require("readline");

// get prompt
var prompts = rl.createInterface(process.stdin, process.stdout);

prompts.question("How many servings of fruit and vegetables do you eat each day?", function (servings){
    var message = '';
    
    if (servings < 5) {
        message = "Since you're only eating " + servings + " right now, you might to start eating " + (5 - servings) + " more.";
    } else {
        message = "Excellent, your diet is on the right track!";
    }
    // output message
    console.log(message);
    // exit script
    process.exit();
});


我们再来看看如何使用jQuery:

我们的package.json如下:

{
  "name": "paragraphs",
  "version": "0.0.0",
  "description": "ERROR: No README.md file found!",
  "main": "script.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "optimist": "0.3.4",
    "jquery": "1.7.3"
  },
  "repository": "",
  "author": "",
  "license": "BSD"
}

我们的javascript代码如下:

// init modules
var argv = require('optimist').argv;
var $ = require('jquery');
var fs = require('fs');


// init file content
var file = argv._[0];
var html = fs.readFileSync(file, 'UTF-8');


// find all paragraph
$(html).find('p').each(function(index) {
	var content = $(this).html();
// output paragraph html
	console.log('Paragraph ' + (index + 1) + ': ' + content);
});

注意我们这里使用到的module主要是optimist和jquery,另外一个核心模块是fs。


注:这里比较惨的是我这里没法下载到jQuery模块,导致无法正常操作。


最后我们来看一下我们在执行前检查语法:
我们需要安装一个全局module--jshint:    npm install -g jshint
之后我们可以在系统命令行中运行jshint <文件名>执行检查,例如:
jshint clean.js
jshint messy.js

其中clean就是一个简单的js脚本,messy是一个包含语法错误的脚本,用户需要通过语法检查后才能运行,内容如下:
function messy_javascript () {
	"This is a line with " "bad" " concatenation.";
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值