Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Nodejs创建一个web网站

const http=require('http');
var server=http.createServer(function (req, res){
switch(req.url){
case '/1.html':
res.write("");
break;
case '/2.html':
res.write("");
break;
default:
res.write('');
break;
}
res.end();
});
//监听——等着
//端口-数字
server.listen();

操作文件

  修改文件

const fs=require('fs');
//writeFile(文件名, 内容, 回调)
fs.writeFile("bbb.txt", "", function (err,data){
console.log(err);
console.log(data);
});

  读取文件

const fs=require('fs');
//readFile(文件名, 回调函数)
fs.readFile('aaa.txt', function (err, data){
if(err){
console.log('读取失败');
}else{
console.log(data.toString());
}
});

  加载页面

const http=require('http');
const fs=require('fs'); var server=http.createServer(function (req, res){
//req.url=>'/index.html'
//读取=>'./www/index.html'
// './www'+req.url
var file_name='./www'+req.url; fs.readFile(file_name, function (err, data){
if(err){
res.write('');
}else{
res.write(data);
}
res.end();
});
});
server.listen();

  解析url

  参数为false  =》字符串,  参数为true =》对象
const urlLib=require('url');
var obj=urlLib.parse("http://www.zhinengshe.com/index?a=12&b=5", false);
console.log(obj.pathname, obj.query);

获取POST数据

//post可以接受大量的数据,它是分段发送数据的。
const http=require('http');
const querystring=require('querystring');
http.createServer(function (req, res){
var str=''; //接收数据
//data——有一段数据到达(很多次)
var i=;
  req.on('data', function (data){
  console.log(`第${i++}次收到数据`);
  str+=data;
});
//end——数据全部到达(一次)
  req.on('end', function (){
  var POST=querystring.parse(str);
  console.log(POST);
});
}).listen();

const http=require('http'); http模块
const fs=require('fs'); 请求文件
const querystring=require('querystring'); 请求post数据
const urlLib=require('url'); 请求get数据

模块化
require——引入
exports——输出
module.exports——批量输出
引入自己的模块——./ ?
对外输出东西——必须加给exports
数据请求
GET数据:
req.url——urlLib.parse(, true)

POST数据接收:POST数据比GET大得多

POST很大——分段
data 一段数据
end 全部到达

Nodejs总结(一)的更多相关文章

  1. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  2. NodeJs之Path

    Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\ ...

  3. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. NodeJs之child_process

    一.child_process child_process是NodeJs的重要模块.帮助我们创建多进程任务,更好的利用了计算机的多核性能. 当然也支持线程间的通信. 二.child_process的几 ...

  6. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  7. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  8. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  9. nodejs进阶(3)—路由处理

    1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) ...

  10. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

随机推荐

  1. 1.初步认识TypeScript

    简介:typescript是C#之父主导的一门语言,本质上是向Javascript语言添加了可选的静态类型和基于面向对象的诸多特性.相当于javascript的超集,其包含es6.由于是和C#之父创造 ...

  2. 概率p输出1,概率1-p输出0,等概率输出0和1

    有个输出0和1的BIASED RANDOM,它以概率p输出1,以概率1-p输出0,以此RANDOM函数为基础,生成另一个RANDOM函数,该函数以1/2的概率输出1,以1/2的概率输出0 题目解答: ...

  3. Device Identifier and Device DNA初识

    Device Identifier and Device DNA初识 信息来源 怎么样去用这个DNA:

  4. 基于select类型多路IO复用,实现简单socket并发

    还有很多缺限,如客户断开无限重复 以下转至老师博客: server: #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = " ...

  5. 让Delphi XE5跟其他版本的Delphi共存 [转]

    找到Delphi XE5的安装根目录  ....  \Program Files (x86)\Embarcadero\RAD Studio\12.0\bin下的cglm.ini文件, 打开cglm.i ...

  6. window10 禁止更新

    win+R 运行 在服务里找到WindowsUpdate 双击  弹出的对话框 启动类型选禁用

  7. a:hover应用精粹

    原本想把题目叫做“纯CSS相册2”的,但在实现过程中试验了许多东西,干脆全部写出来分享了.大家知道,能兼容IE6的具有动态切换能力的CSS属性也只有hover伪类了,但hover伪类在IE仅对链接生效 ...

  8. “Hello world! ”

    12.1第一篇笔记 Python  方向:1.web全栈    2.人工智能 (java基础)   3. 爬虫开发   4.数据分析(金融) 6个月学习:需完成8-10万行代码的目标 下一步学习方向 ...

  9. Espresso小试

    Espresso开源了,那就试着用一下, 1. 下载Espresso Espresso没有提供单独的jar包下载,建议clone整个项目或者下载zip包 git clone https://code. ...

  10. spring4.0之六:Generic Qualifier(泛型限定)

    Spring 4.0已经发布RELEASE版本,不仅支持Java8,而且向下兼容到JavaSE6/JavaEE6,并移出了相关废弃类,新添加如Java8的支持.Groovy式Bean定义DSL.对核心 ...