node基础09:第2个node web服务器
1.同时输出文字与图片
在前几个小课程中,我会学会了
- 从服务器中读取文字字符,并且向浏览器中输出
- 从服务器中读取图片文件,并且向浏览器中输出
这节课中,我学会了同时向浏览器输出文字,图片。对此,我感到欣喜若狂。你无法想象对我来讲,在没有任何node的环境下,摸索这些有多么困难,因为我身处一个小公司,实在不能再小了,只有我一个前端。不多说废话了,反正今天时非常值得纪念的一天。
代码如下:
//server.js
var http = require('http');
var url = require('url');
var router = require('./router'); http.createServer(function(req, res){
if (req.url!=='/favicon.ico') {
pathname=url.parse(req.url).pathname.replace(/\//,'');
console.log(pathname);
router[pathname](req,res);//暂时确保url带有pathname,否则会报错
}
}).listen(3000);
console.log(' server running at http://127.0.0.1:3000')
// router.js
var fs = require('fs');
module.exports = {
login:function(req, res){
res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
fs.readFile('./login.html',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取login.html");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
},
register:function(req, res){
res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
fs.readFile('./register.html',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取login.html");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
},
showImage:function(req, res){
res.writeHead(200, {'Content-Type':'image/jpeg'});
fs.readFile('./test.png',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取图片");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
}
}
node基础09:第2个node web服务器的更多相关文章
- Node.js实战(三)之第一个Web服务器
这次的示例同样也可以说是HelloWorld,只不过不同的是这是web服务器示例. (1)编写web.js,内容如下: var http = require("http") fun ...
- node基础02:第一个node程序
1.第一个web服务器 var http = require("http"); http.createServer(function(request, response){ res ...
- node.js的http模块创建基本Web服务器
首先下载node.js模块.终端执行命令 npm i node -g 引入http核心模块 const http =require('http') 引入文件系统模块 const fs =require ...
- node - web 服务器 、server 服务器
node 作为服务端 - 基本使用 1. web 服务器 web.html <!DOCTYPE html> <html> <head> <meta chars ...
- Web 与 Node 基础
浏览器端发送请求(browser) 浏览器或者模拟发送 http 请求端 服务端处理请求(web) 服务器(使用 node ) 2.1. 使用 Forever 管理程序 2.2. 可以使用 PM2 代 ...
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)
了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发) Guillermo Rauch 编 赵静 译 ISBN 978-7-121-21769-2 2 ...
- node.js搭建Web服务器
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...
- node基础—概述与安装
什么是Nodejs 简单的说 Node.js 就是运行在服务端的 JavaScrip(编写高性能网络服务器的JavaScript工具包(用js开发服务端程序))t. JS是脚本语言,脚本语言都需要一个 ...
- node(基础)_node中的javascript
一.前言 ...
随机推荐
- Javascript面向对象(封装、继承)
Javascript 面向对象编程(一):封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程( ...
- PowerDesigner16 基本使用教程
一.基本概念 概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充. 它从用户的观点出发对信息进行建模,主要用于数据库的概念 ...
- JS高程3.基本概念(6)函数
1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有 ...
- jQuery静态方法noop,camelCase,nodeName,trim使用和源码分析
noop方法 jQuery.noop()函数是一个空函数,它什么也不做. 当某些时候你需要传入函数参数,而且希望它什么也不做的时候,你可以使用该函数,也无需再新建一个空的函数. 示例: // 传入一个 ...
- navigationController 返回前N个视图
前提是,由N个视图跳转过来的. //返回前n个 NSInteger index=[[self.navigationController viewControllers]indexOfObject:se ...
- Android动画例子。
例子一: 补间动画效果,从右进,从左出. ImageSwitcher mImageSwitcher = new ImageSwitcher(this); mImageSwitcher.setFacto ...
- iOS之关于 srand() 和rand()
srand(seed)用来将随机序列的起始点设为seed srand((int)time(0))表示以当前时间对应的int值为随机序列起点,这样每次运行程序,由于起点不同才可以得到不同的随机数 tim ...
- Http相关知识
Http的无状态性 无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端的请求.但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才的浏览器.简单的说就是,服务器不会去记得你 ...
- Fragment配合RadioGroup实现点击切换布局
这里用了 compile 'com.jakewharton:butterknife:7.0.1' compile 'org.greenrobot:eventbus:3.0.0' MainActivit ...
- php关键词替换的类(避免重复替换,保留与还原原始链接)
转载:http://www.169it.com/blog_article/601549531.html 本节主要内容:一个关键词替换的类 主要可以用于关键词过滤,或关键词查找替换方面. 实现过程分析: ...