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');
分享到:
相关推荐
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript...配合廖雪峰的教程,你将能够系统地学习和实践Node.js的各个方面,提升你的JavaScript技能,同时了解最新的JS前沿技术。
### 廖雪峰 JavaScript 教程知识点概览 #### 1. JavaScript 的重要性和应用场景 - **跨平台性**:JavaScript 是唯一一种能够在不同操作系统(Windows、macOS、Linux等)和不同浏览器(Chrome、Firefox、Safari等)...
8. **Node.js**:JavaScript在服务器端的应用,模块系统,Express框架等。 **Python3**: Python3是一种高级编程语言,强调代码可读性和简洁的语法,适用于快速开发和自动化任务。关键知识点包含: 1. **基础语法*...
### 廖雪峰 JavaScript Python Git 教程 #### JavaScript 教程概览 ##### JavaScript 简介 - **用途**: JavaScript 是一种轻量级的脚本语言,主要用于网页的交互控制。 - **特点**: 动态类型、弱类型、基于原型。 ...
### 廖雪峰-JavaScript教程-PDF版 #### JavaScript的重要性及发展历程 JavaScript作为世界上最流行的脚本语言之一,在Web开发领域占据着举足轻重的地位。无论是个人开发者还是大型企业,都离不开JavaScript的支持...
廖雪峰是知名的IT教育工作者,提供了丰富的在线课程,涵盖了编程语言JavaScript、Python和版本控制系统Git的教程。下面是根据提供的文件信息,对这些教程内容的详细知识点梳理。 ### JavaScript教程 #### ...
这个压缩包包含了廖雪峰老师的JavaScript、Python和Git教程的电子版。JavaScript教程将涵盖基础语法、对象、函数、闭包、异步操作等内容,帮助初学者掌握JavaScript的核心概念。Python教程会讲解变量、数据类型、...
【标题】"廖雪峰代码webapp搭建day10调通后的代码+注释"涉及的是一个关于Web应用程序开发的学习教程,重点在于如何构建并调试一个Web应用。在这个过程中,我们通常会用到Web框架,比如Python的Flask或Django,来简化...
综上所述,《JavaScript全栈教程》覆盖了从基础到高级的多个层面,适合初学者快速入门并逐步深入学习JavaScript的各项技能。无论是对于想要从事Web开发的人来说,还是对于已经有一定经验的开发者而言,都能够从中...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用于开发服务器端应用。前端框架如React、Vue.js和AngularJS简化了网页应用的开发,它们提供了一套组织代码的结构和组件化的思想,使得开发者能够更高效地构建...
JavaScript是一种广泛用于网页和网络应用的脚本语言,它主要运行在浏览器环境中,也可以在服务器端通过Node.js平台进行开发。JavaScript的核心概念包括: 1. **基本语法**:JavaScript语法与C/C++类似,但更宽松,...
可以从廖雪峰的JavaScript教程、MDN的JavaScript es6入门以及阮一峰的es5标准中文文档等资源入手,逐步深入理解JavaScript的各种语法和特性。 #### 前端学习资源 前端学习资源非常丰富,掘金、冴羽博客等平台提供...
4. **廖雪峰+JavaScript+全栈教程.CHM**:廖雪峰的JavaScript教程是中国非常受欢迎的在线教程之一,全面讲解了JavaScript语言,包括基础语法、面向对象、闭包、原型链、ES6新特性,以及如何使用JavaScript进行全栈...
- **廖雪峰**:知名的Python教程作者,也提供了Git等其他工具的教学资源。 - **道哥的黑板报**:专注于网络安全领域。 #### 三、前端技术分类综合 该部分将前端技术按类别进行了划分,主要包括: - **大前端...
此外,学习廖雪峰的JavaScript教程也是一个好选择,但深入阅读大型参考书可能需要更多时间和决心。 在环境基础方面,了解浏览器的工作原理至关重要,尤其是Chrome和Firefox。随着Node.js的广泛应用,webpack成为了...
- "深入浅出nodejs.pdf"虽然不是Python书籍,但了解JavaScript的Node.js环境可以帮助理解异步编程和服务器端JavaScript。 6. **学习资源**: - "Python3-liaoxuefeng-jb51.rar"可能包含廖雪峰的Python教程,这是...