node.js简单接触
'use strict';
var test_1 = require('./test-1');
test_1('xiangzhipeng');
//同步异步读取文件
try{
var fs = require('fs');
// fs.readFile('test-img.png','UTF-8',function(err,data){
// if(err){
// console.info(err);
// }else{
// console.info(typeof data);
// }
// });
//console.info(fs.readFileSync('test-img.png','UTF-8'));
}catch(err){
console.info(err);
};
console.info('------------','同步异步读取文件');
//写文件
var data1 = '我是使用Node.js 异步写出的文本';
var data2 = '我是使用Node.js 同步写出的文本';
// fs.writeFile('./write-test.txt',data1,function(err){
// if(err){
// console.info(err);
// }else{
// console.info('ok');
// }
// });
//fs.writeFileSync('write-test.txt',data2);
console.info('------------','写文件');
//stat 文件详情
fs.stat('./write-test.txt',function(err,data){
if(err){
console.info(err)
}else{
//console.info(data);
console.info(data.birthtime)
}
});
console.info(fs.statSync('./write-test.txt').birthtime);//同步获取stat对象
//输入输出流
var rs = fs.createReadStream('./write-test.txt','UTF-8');
rs.on('data',function(chunk){
console.info('readStream:',chunk);
});
rs.on('end',function(){
console.info('读取完毕');
});
var ws = fs.createWriteStream('./write-test.txt','UTF-8');
ws.write('我是使用writeStream写出的文本');
ws.write('写完了');
//pipe 输入输出一起进行 文件复制...
rs = fs.createReadStream('./write-test.txt','UTF-8');
ws = fs.createWriteStream('./copy.txt','UTF-8');
rs.pipe(ws);
//http模块
var http = require('http');
var server = http.createServer(function(req,resp){
console.info('获得HTTP请求的method和url',req.method+" "+req.url);// 获得HTTP请求的method和url:
resp.writeHead(200,{'Content-type' : 'text/html'});// 将HTTP响应200写入response, 同时设置Content-Type: text/html:
resp.end('<h1>Hello World</h1>');//将响应的内容写入response
});
server.listen(8080);// 让服务器监听8080端口:
console.info('Server is running at http://127.0.0.1:8080');
//url模块
var url = require('url');
//console.info(url.parse('http://user:pass@host.com:8080/path/to/file?query=string#hash'));
//path模块 处理本地文件目录
var path = require('path');
var workDir = path.resolve('.');//获取工作空间目录
console.info(path.join(workDir,'pub','index.html'));
nodeJS实现服务器端html返回,文件服务器
'use strict'
var fs = require('fs'),
http = require('http'),
url = require('url'),
path = require('path');
//1.建立服务端口,提供访问,解析url 获取url中的文件目录及名称
//2.获取项目根目录,寻找到客户端需要的文件
//3.使用文件输入流读取文件
//4.使用pipe将输入流合并到response返回
//获取当前服务器中项目的路径
var rootDir = path.resolve(process.argv[2] || '.');
//建立服务
var server = http.createServer(function(request,response){
//获取文件目录
var pathname = url.parse(request.url).pathname;
//生成服务器端文件路径
var filePath = path.join(rootDir,pathname);
fs.stat(filePath,function(err,stats){
if(!err && stats.isFile()){ //如果读取到了,并且是一个文件,传入文件输入流
response.writeHead(200);//响应发送200状态码
console.info(filePath);
fs.createReadStream(filePath,'UTF-8').pipe(response);
}else if(!err && stats.isDirectory()){
if(fs.existsSync('index.html')){
fs.createReadStream(filePath+'index.html').pipe(response);
}else if(fs.existsSync('default.html')){
fs.createReadStream(filePath+'default.html').pipe(response);
}
}else{//否则出错 文件不存在
response.writeHead(404);//文件不存在,404响应
response.end('404 not Found');
}
});
});
//监听8080端口
server.listen(8080);
console.info('Server is running');
分享到:
相关推荐
廖雪峰 JavaScript 全栈教程.txt 网盘永久链接 为方便JavaScript 学习爱好者 学习而上传
廖雪峰Python2.7教程.pdf
java 教程 离线文档_廖雪峰_pdf
廖雪峰练习SQL文件.sql
初学者试用的node.js dem,配合廖雪峰的nodejs教程可轻松看懂,相关数据库参考廖大教程。
SQL廖雪峰基础知识整理,适用于初学者入门,有个基本的了解,之后可以刷刷题进行巩固,希望能够对您有所帮助~
廖雪峰Python3.pdf廖雪峰Python3.pdf廖雪峰Python3.pdf
廖雪峰老师的python3.pdf
廖雪峰python3 pdf完整版,感觉讲的很棒,以及Python学习廖雪峰Python3书的随书源码
对CSDN网络下载的:Git教程-廖雪峰的文件进行了加工,便于打印成书,改进1. 修改了页边距,2.增加了页码。
JavaScript 全栈教程[廖雪峰 ].CHM
带有完整PDF内部标签 Python是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写...
本文档格式为word文档,包含了相应的目录结构。 Python教程 1 关于作者 2 Python简介 2 1 安装Python 5 1.1 Python解释器 8 2 第一个Python程序 9 2.1 使用文本编辑器 10 2.2 输入和输出 14 3 Python基础 17 ...
廖雪峰 Git 教程.CHM
首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度; 其次,本教程实用性超强,边学边练,一点也不觉得枯燥。而且,你所学的Git命令是“充分且必要”的,掌握了这些东西...
解锁网络数据的宝藏:Python爬虫工具与教程集合 一、探索网络信息的无限宝藏 在互联网的海洋中,蕴藏着海量的有价值信息。如何合法、高效地获取这些信息?Python爬虫工具与教程为您揭开这一神秘面纱。...
python教学pdf
廖雪峰版python 3、python2教程,适用于初学者学习,教程里的示例操作性强
廖雪峰 Java 教程 Java教程 Java快速入门 Java简介 安装JDK 第一个Java程序 Java代码助手 使用IDE 使用IDE练习插件 Java程序基础 Java程序基本结构 变量和数据类型 整数运算 浮点数运算 布尔运算 ...