Node.js开发手册(一)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/8915944 Node.js开发手册(一)作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/8915944

Node.js开发手册(一)

作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs

一、Node.js简介

Node.js由于其简洁性而受到广泛关注。与PHP或ASP不同,后者在Web服务器和代码间没有间隔,也不需要自定义大量的配置文件。使用Node.js,我们可以创建服务器,自定义它,在代码层交付所有的内容。

二、构建路由器

为了交付Web内容,我们需要使URI有效。为了使得开发效率更高,这里我向大家推荐两款工具,它可以帮助Node.js程序在改动后自动部署生效,简化了开发。工具如下:

1. Hotnode

Hotnode是一个包,可以让代码在修改保存后实现自动重载。其特征有两点:
一是当文件发生改变后,自动重载Node.js代码。
二是会检测当前目录及其子目录。

2. Supervisor

node-supervisor也是一个包,它可以运行Node.js程序,观察代码的变动情况,自动重新热部署,无需担心内存泄漏以及中间模块引用的清除等。

Hotnode和Supervisor两者的功能差不多,不过Hotnode先于Supervisor差不多一年发布。
两者的安装都很简单,以supervisor为例,安装如下:

$ sudo npm install supervisor -g

三、测试

编写一个Node.js程序,名为server.js,内容如下:
// server.js
var http = require('http');
http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Woohoo!');
}).listen(8080);

用supervisor执行此程序,命令为:

$ supervisor server.js

用浏览器访问地址:http://localhost:8080/
会显示Woohoo!

四、修改代码

我们可以使用path模块提取路径的基本名字,用decodeURI在客户端解码任何URI编码。内容如下:

// server.js
var http = require('http');
var path = require('path');

var pages = [
    {route: '', output:'Woohoo!'},
    {route: 'about', output:'A simple routing with Node example'},
    {route: 'another page', output: function(){return 'Here\'s ' + this.route;}},
];

http.createServer(function(req, res){
    var lookup = path.basename(decodeURI(req.url));
    pages.forEach(function(page){
        if(page.route===lookup){
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.end(typeof page.output === 'function' ? page.output() : page.output);
        }
    });
    if(!res.finished){
        res.writeHead(404);
        res.end('Page Not Found!');
    }
}).listen(8080);

在终端上可以看到,代码是实时被supervisor热部署了的。
在浏览器访问http://localhost:8080/aboutasd

会提示:Page Not Found!


在浏览器访问http://localhost:8080/about

会提示:A simple routing with Node example


目录
相关文章
|
NoSQL JavaScript 数据库
Node.js开发手册(四)-Redis数据库访问
Node.js开发手册(四)-Redis数据库访问 因工作太忙,本系列的文章中断了很久,现在有机会继续了。 大家要记住,Node.js主要用于构建高性能、高可伸缩性的服务器和客户端应用,它面向的是“实时Web”。
1107 0
|
NoSQL JavaScript 数据库
Node.js开发手册(四)-Redis数据库访问
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/17660179 Node.js开发手册(四)-Redis数据库访问 作者:chszs,转载需注明。
894 0
|
JavaScript 前端开发 网络架构
Node.js开发手册(一)
一、Node.js简介 Node.js由于其简洁性而受到广泛关注。与PHP或ASP不同,后者在Web服务器和代码间没有间隔,也不需要自定义大量的配置文件。使用Node.js,我们可以创建服务器,自定义它,在代码层交付所有的内容。
1089 0
|
JavaScript 前端开发
Node.js开发手册(二)
一、静态文件服务 如果我们想把磁盘上的文件作为Web内容对外提供服务,那么怎么用Node来实现呢?答案是使用fs模块。我们可以使用fs即filesystem模块载入文件的内容,并把内容通过createServer回调函数传递出去。
922 0
|
JavaScript 前端开发
Node.js开发手册(二)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/8981859 Node.js开发手册(二) 作者:chszs,转载需注明。
1063 0
|
28天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
103 2
|
24天前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
17 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
146 4
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
89 4