node.js安装小结

二、Node.js安装

Node.js和Java非常像,跨平台的。不管是Linux还是windows编程是完全一致的(有一些不一样,比如路径的表述)。Linux版本的Node.js环境和windows环境是不一样的,但是编程语言一样。很像Java虚拟机。


装完之后,我们在系统的环境变量里面,我们看一下:

环境变量,就已经自动的填写进去了,就是我们node安装的目录。

什么叫做环境变量?就是在系统的任何目录下,都能运行c:\program files\nodejs里面的程序。

在cmd中,输入node -v就能够查看nodejs的版本。你会发现,我们现在的盘符,不在安装目录下,但是也能够运行,这就是因为有系统环境变量。系统的环境变量已经有了c:\program files\nodejs了,所以,这个文件夹中的node.exe就能够在任何盘符运行。

 

运行文件,就要用node命令来运行:

1           node 路径名

推荐,不要使用完整的路径名,而是通过先进入案例文件夹,然后node相对地址

cd命令,就是change directory的缩写,表示更改当前目录。


 

Node.js是服务器的程序,写的js语句,都将运行在服务器上。返回给客户的,都是已经处理好的纯html。

1           //require表示引包,引包就是引用自己的一个特殊功能

2           var http = require("http");

3           //创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么

4           var server = http.createServer(function(req,res){

5           //req表示请求,request;  res表示响应,response

6           //设置HTTP头部,状态码是200,文件类型是html,字符集是utf8

7           res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});

8           res.end("哈哈哈哈,我买了一个iPhone" + (1+2+3) + "s");

9           });

10        

11       //运行服务器,监听3000端口(端口号可以任改)

12       server.listen(3000,"127.0.0.1");

 

如果想修改程序,必须中断当前运行的服务器,重新node一次,刷新,才行。

ctrl+c,就可以打断挂起的服务器程序。此时按上箭头,能够快速调用最近的node命令。

 

你会发现,我们本地写一个js,打死都不能直接拖入浏览器运行,但是有了node,我们任何一个js文件,都可以通过node来运行。也就是说,node就是一个js的执行环境。

我们现在,要跑起来一个服务器,这个服务器的脚本,要以.js存储。是一个js文件。用node命令运行这个js文件罢了。

 

Node.js没有根目录的概念,因为它根本没有任何的web容器!

让node.js提供一个静态服务,都非常难!

也就是说,node.js中,如果看见一个网址是

1           127.0.0.1:3000/fang

别再去想,一定有一个文件夹,叫做fang了。可能/fang的物理文件,是同目录的test.html

URL和真实物理文件,是没有关系的。URL是通过了Node的顶层路由设计,呈递某一个静态文件的。


三、HTTP模块

Node.js中,将很多的功能,划分为了一个个mudule,大陆的书翻译为模块;台湾的书,翻译为模组。

这是因为,有一些程序需要使用fs功能(文件读取功能),有一些不用的,所以为了效率,你用啥,你就require啥。

 

1           //这个案例简单讲解http模块

2           //引用模块

3           var http = require("http");

4            

5           //创建一个服务器,回调函数表示接收到请求之后做的事情

6           var server = http.createServer(function(req,res){

7           //req参数表示请求,res表示响应

8           console.log("服务器接收到了请求" + req.url);

9           res.end();

10       });

11       //监听端口

12       server.listen(3000,"127.0.0.1");

 

设置一个响应头:

1           res.writeHead(200,{"Content-Type":"text/plain;charset=UTF8"});


我们现在来看一下req里面能够使用的东西。

最关键的就是req.url属性,表示用户的请求URL地址。所有的路由设计,都是通过req.url来实现的。

我们比较关心的不是拿到URL,而是识别这个URL。

识别URL,用到两个新模块,第一个就是url模块,第二个就是querystring模块

 

字符串查询,用querystring处理

1           querystring.parse('foo=bar&baz=qux&baz=quux&corge')

2           // returns

3           { foo: 'bar', baz: ['qux', 'quux'], corge: '' }

4            

5           // Suppose gbkDecodeURIComponent function already exists,

6           // it can decode `gbk` encoding string

7           querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,

8             { decodeURIComponent: gbkDecodeURIComponent })

9           // returns

10       { w: '中文', foo: 'bar' }

 

 

 

你可能感兴趣的:(node.js)