首页 > 代码库 > node.js入门01

node.js入门01

配置:

  • $ mkdir file && cd file
  • $ npm init                                             //开始写基础的package.json信息
  • $ npm install module1 module2 --save     //填入要依赖的包,没有指定 registry默认从官网上拉,--save会自动将依赖写入package.json
  • $ supervisor app.js                                 //这里在全局上安装supervisor 包之后来运行app.js,避免修改再运行

    //$ npm install express --registry=https://registry.npm.taobao.org   //指定 registry的情况

例子代码:

var express = require(‘express‘);//返回一个 express 实例var app = express(); //app 本身有很多方法,其中包括最常用的 get、post、put/patch、delete//req中包含了浏览器传来的各种信息,比如 query,body,headers;//res一般不从里面取信息,而是来定制向浏览器输出的信息,比如 header 信息,想要向浏览器输出的内容。//这里我们调用了它的 #send 方法,向浏览器输出。app.get(‘/‘, function (req, res) {	  // req.query 中取出我们的 q 参数: 如localhost:3000?q=jinks	  // req.body 获得post 传来的 body 数据需要引入 body-parser 这个中间件	 var q = req.query.q;	  // 调用 utility.md5 方法,得到md5值	var md5Value = http://www.mamicode.com/utility.md5(q);>

// MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式  

//上面的例子如果取不到q,则会抛错;

端口:

  • 作用:通过端口来区分出同一电脑内不同应用或者进程,从而实现一条物理网线同时链接多个程序 Port_(computer_networking)
  • 端口号:是一个 16位的 uint, 所以其范围为 1 to 65535 (对TCP来说, port 0 被保留,不能被使用. 对于UDP来说, source端的端口号是可选的, 为0时表示无端口).

 简单的爬虫功能:

// superagent: 抓取网页,是个 http 方面的库,可以发起 get 或 post 请求。

// cheerio: 分析网页,可以理解成一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的。

例子代码:

app.get(‘/‘, function (req, res, next) {	// 用 superagent 去抓取 https://cnodejs.org/ 的内容	superagent.get(‘https://cnodejs.org/‘)	.end(function (err, sres) {  //由于前面已经定义了res,这里改为sres	// 常规的错误处理			if(err) {			return next(err)		}	// sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后    // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`		var $ = cheerio.load(sres.text);	var items = [];	//节点为网页的节点	$(‘#topic_list .topic_title‘).each(function (index, elem) {		var $elem = $(elem);		items.push({			title: $elem.attr(‘title‘),			href: $elem.attr(‘href‘)		});	});	res.send(items);	})});

  

 

 

node.js入门01