var http=require("http");
var url=require("url");
var onRequest=function(request,response){
var pathname=url.parse(request.url).pathname;
if (pathname=="/"||pathname=="/start"){
//默认{"content-Type":"text/html"}解析html,text/plain不解析,原始代码输出
//使用readFile方法,和text/html设置可以添加静态hrml文件
response.writeHead(200,{"content-Type":"text/plain"});
response.write("hello world");
response.end();
}else if (pathname=="/upload"){
response.writeHead(200,{"content-Type":"text/plain"});
response.write("hello upload");
response.end();
}else{
console.log("the response for "+pathname+"is not found")
};
console.log("Server running at http://localhost:8888")
}
http.createServer(onRequest).listen(8888);
模块化后:
//server.js
var http=require("http");
var url=require("url");
function start(route,handle){
function onRequest(request,response){
var pathname=url.parse(request.url).pathname;
route(handle,pathname,response);
}
var server=http.createServer(onRequest);
server.on('listening',function(){
console.log('ok, server is running');
});
server.listen(50);
console.log("Server running at http://localhost:50")
}
exports.start=start;
//router.js
function route(handle,pathname,response){
if (typeof handle[pathname] == 'function' ){
handle[pathname](response);
}else{
console.log("No request handle found for"+pathname);
response.writeHead(404,{"content-Type":"text/plain"});
response.end();
}
};
exports.route=route;
//requestHandler.js
function start(response){
response.writeHead(200,{"content-Type":"text/plain"});
response.write("hello world111");
response.end();
};
function upload(response){
response.writeHead(200,{"content-Type":"text/plain"});
response.write("hello upload1111");
response.end();
};
exports.start=start;
exports.upload=upload
//index.js
var server=require("./server");
var router=require("./router");
var requestHandlers=require("./requestHandlers");
var handle={};
handle["/"]=requestHandlers.start;
handle["/start"]=requestHandlers.start;
handle["/upload"]=requestHandlers.upload;
server.start(router.route,handle)
相关推荐
超简单AIoT物联网与网站假设必学神器:Node-RED视觉化开发工具配套示例代码 超简单AIoT物联网与网站假设必学神器:Node-RED视觉化开发工具配套示例代码 超简单AIoT物联网与网站假设必学神器:Node-RED视觉化开发工具...
node.js简单示例
博客里React+jQuery+Node示例的源码下载。可以直接在node5.3里运行。
Node入门示例源码 《一篇入门Nodejs可不可行?》演示用的到示例源码
node即学即用第二章示例代码 使用前提是按照node.js, 并且安装好express和ejs库
node express 框架 demo 例子 示例工程 好学 好用
BasicExpressSite, 使用Express的简单示例 node 网站 基本速成网站的源代码示例:node.js 中带有 express,Jade 和手写笔文章的简单站点。插件生成在控制台中运行这里命令: npm install 所有依赖项将由 npm 下载到 ...
一个使用 Node.js 编写的简单圣诞树代码特效示例一个使用 Node.js 编写的简单圣诞树代码特效示例一个使用 Node.js 编写的简单圣诞树代码特效示例一个使用 Node.js 编写的简单圣诞树代码特效示例
node-docker-good-defaults, 用于 Docker 示例的示例 node 应用程序 node Docker Hello World,用于在 Docker 中显示使用 node.js的默认值这试图是一个"默认值"示例,用于在 Docker 中使用 node.js 进行本地开发和...
aws-nodejs-sample, 示例项目以演示 node.js的AWS SDK用法 用于 node.js 示例项目的 AWS一个简单的node.js 应用程序,演示了用于 Node.js.的AWS SDK要求这里应用程序的唯一要求是 node 包管理器。 所有其他依赖项( ...
node.js 做的简单多聊天室示例。可以天启多个房间。
Node中的Http模块和Url模块的使用示例代码;Node中的Http模块和Url模块的使用示例代码
koa2项目的示例,koa2 mongoose ejs单纯示例
我重写并改进的Node.js的Connect框架的源代码,以及一个演示框架功能的小示例网站程序,其中包括简单的读取静态文件的功能、以及获取远程天气预报数据的功能(仅为演示)。 说明: * 由于可能将代码发布到github,...
express4 session 、body-parser 爬坑
最佳node入门例子,用到了express + ejs + mysql,程序功能是给出音乐列表,音乐可以播放,可以上传音乐。程序中没有用到其它各种包,很单纯,而且项目的readme文件中对依赖包、代码解释的很清楚。把本程序研究清楚...
node-es6-examples, node.js 6示例 Node.JS 中的ECMAScript 6本文介绍并说明了在 node 中本机可用的ECMAScript 6 ( 短 ES6 ) 特性。 运行代码段时不需要transpiler或者 shim 。 我们希望读者能找到这里所展示的ES6的
nodecpp-demo, node.js C 集成示例代码 nodecpp演示这个库包含完整的代码清单,可以帮助你开发 node.js 插件。我的博客- blog.scottfrees.com 和 node.js C 和集成的内容都在我的博客上得到了充分的解释。基本一些...
2018年1月版,李锴著,《新时期的node.js入门》,书中所有示例的代码
使用nodejs的微服务示例