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.js提供后端服务的完整应用。学习这个示例,开发者可以掌握如何在同一个项目中协调使用这三个强大的工具,理解它们的协同...
这个"Node入门示例源码.zip"压缩包显然包含了几个用于初学者理解Node.js基本概念和用法的源代码文件。让我们逐一解析这些文件,以深入理解Node.js的核心知识点。 1. **1.html**:这是一个HTML文件,通常用于展示...
简单的Node.js应用程序示例
在本教程中,我们将深入探讨“Node即学即用”的示例代码,特别是关于第二章的内容。这个压缩包文件“node-up-and-running-chirpie-master”包含了一系列与Node.js、Express框架以及EJS模板引擎相关的实践项目。让...
【作品名称】:基于node的基础语法示例(node源码实例) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于node的...
本书通过丰富的示例代码,深入浅出地介绍了Node.js的基础知识和实际应用技巧。 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript编写服务器端程序,打破了传统意义上JavaScript...
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 包管理器。 所有其他依赖项( ...
本示例主要探讨的是在Message Broker环境中,如何使用JavaCompute Node来处理消息。 JavaCompute Node是IBM Message Broker(也称为IBM WebSphere MQ Message Broker)中的一个组件,它允许开发人员用Java编写...
"Node.js-完整的Koa2服务器样板包括es6 REST示例静态示例"是一个包含Node.js、Koa2框架、ES6语法以及RESTful API和静态文件服务的项目模板。这个模板可以作为一个基础,帮助开发者快速搭建自己的Web应用,同时提供了...
Node调用Java的示例代码 Node调用Java的示例代码主要介绍了如何使用Node调用Java的服务,通过Dubbo实现服务提供和消费。下面将详细介绍相关知识点: 服务提供者(Java端) 在Java端,我们定义了一个服务接口`...
我重写并改进的Node.js的Connect框架的源代码,以及一个演示框架功能的小示例网站程序,其中包括简单的读取静态文件的功能、以及获取远程天气预报数据的功能(仅为演示)。 说明: * 由于可能将代码发布到github,...
最佳node入门例子,用到了express + ejs + mysql,程序功能是给出音乐列表,音乐可以播放,可以上传音乐。程序中没有用到其它各种包,很单纯,而且项目的readme文件中对依赖包、代码解释的很清楚。把本程序研究清楚...
【标题】"nodemcu Arduino mqtt控制板载灯 示例"主要涵盖了使用NodeMCU开发板,结合Arduino编程环境,以及MQTT(Message Queuing Telemetry Transport)协议来远程控制板载LED灯的操作。NodeMCU是一款基于ESP8266...
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 和集成的内容都在我的博客上得到了充分的解释。基本一些...