首页 > 代码库 > node入门笔记

node入门笔记

看了《node入门》http://www.nodebeginner.org/index-zh-cn.html。有些疑难点记下来。

在导出模块的时候给出的代码是这样的

 1 var http = require("http"); 2  3 function start() { 4   function onRequest(request, response) { 5     console.log("Request received."); 6     response.writeHead(200, {"Content-Type": "text/plain"}); 7     response.write("Hello World"); 8     response.end(); 9   }10 11   http.createServer(onRequest).listen(8888);12   console.log("Server has started.");13 }14 15 exports.start = start;

  可以发现exports.start = start;但是不知道哪一个start是内部函数名哪一个是外部引用的名字。做了如下修改

var http = require("http");function starrt() {  function onRequest(request, response) {    console.log("Request received.");    response.writeHead(200, {"Content-Type": "text/plain"});    response.write("Hello World");    response.end();  }  http.createServer(onRequest).listen(8888);  console.log("Server has started.");}exports.start = starrt;  //starrt 为内部函数名  star为外部调用的方法名

  发现exports.外部调用名  =  内部函数名;

 

关于url方法的调用

发现在文章中有 pathname = url.parse(req.url).pathname;

查了下API 知道 req.url  可以拿到所有的url 

例如:http://localhost:8888/start?foo=boo&hello=world   req.url = start?foo=boo&hello=world,即域名以后的路径。

我决定把url.parse(req.url)输出看看是什么

console.log(url.parse(req.url))//以下为输出{ protocol: null,  slashes: null,  auth: null,  host: null,  port: null,  hostname: null,  hash: null,  search: ‘?foo=boo&hello=world‘,  query: ‘foo=boo&hello=world‘,  pathname: ‘/start‘,  path: ‘/start?foo=boo&hello=world‘,  href: ‘/start?foo=boo&hello=world‘ }

querystring.parse()这个方法可以把请求参数的键值对转换成json,

postData =http://www.mamicode.com/ user=asdsad&passwd=qweq;

querystring.parse(postData)之后变成 : { user: ‘asdsad‘, passwd: ‘qweq‘ };

 

node入门笔记