5. Node基础编程
- 基于Chrome V8引擎
- 单线程
- 使用JavaScript开发后端代码
- 非阻塞的IO
common规范
common一定是通过module.exports={}输出
创建Http Server
node demo.js
//文件demo.js
let http=require('http');//调用http模块
let url=require('url');//请求头
let util=require('util');
let server=http.createServer((req,res)=>{
res.statusCode=200;//返回状态码
res.setHeader("Content-Type","text/plain;charset=utf-8");//服务器响应头
console.log(req.url);// /demo.html?a=123 不包含hash
console.log(url.parse(req.url));//把url转换为对象
console.log(util.inspect(url.parse(req.url)))//把对象转换为字符串
res.end('hello,node.js');//响应结束输出
})
server.listen(8081,'127.0.0.1',()=>{
console.log('服务器已运行')
})
加载静态页面
http://localhost:8081/login.html node sever.js
//文件sever.js
let http=require('http');//调用http模块
let url=require('url');//请求头
let util=require('util');
let fs=require('fs');//文件系统
let server=http.createServer((req,res)=>{
var pathname=url.parse(req.url).pathname;
fs.readFile(pathname.substring(1),function(err,data){//读取文件,pathname.substring(1)去掉路径前的'/'
if(err){
res.writeHead(404,{
"Content-Type":"text/html"
});
}else{
res.writeHead(200,{
"Content-Type":"text/html"
});
res.write(data.toString());
}
res.end();//响应结束,要放在读取文件的内部
});
})
server.listen(8081,'127.0.0.1',()=>{
console.log('服务器已运行')
})
调用第三方接口
let http = require('http'); //调用http模块
let util=require('util');
http.get('http://www.imooc.com/index/getstarlist', res => {
let data = '';
res.on('data', chunk => {//监听
data += chunk;
});
res.on('end', () => {
let result = JSON.parse(data);
console.log(util.inspect(result));
});
})
Express框架
cnpm i -g express-generator
安装express generator
express --version
检查版本
express server
生成默认项目,在server文件夹内
bin 可执行文件
public 静态资源
routes 路由
views 视图
app.js 入口
node server/bin/www 访问
用webStorm启动
运行 -> 编辑结构 -> +(新添配置) -> js file:"server\bin\www"
pm2 插件启动
$ npm install pm2 -g
$ pm2 start app.js
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
5. Node基础编程的更多相关文章
- node 异步编程
node 异步编程 我了解到的node异步编程可分成: 1.回调函数 2.pub/sub模式(发布/订阅模式) 3.promise 4.generator 5.async await 一.直接回调函数 ...
- node基础06:回调函数
1.Node异步编程 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,No ...
- Winsock基础编程
Winsock基础编程 Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用 ...
- 6、50道JAVA基础编程练习题跟答案
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
- 老李分享: 并行计算基础&编程模型与工具 1
老李分享: 并行计算基础&编程模型与工具 在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...
- 【Socket】Java Socket基础编程
Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...
- go基础编程 day-1
Go语言的特性 开启了学习新的语言路程,记录每天学习的笔记,与大家一起分享. ①.自动垃圾回收 ②.更丰富的内置类型 ③.函数多返回值 ④.错误处理 ⑤.匿名函数和闭包 ⑥.类型和接口 ⑦.并发编程 ...
- node基础篇二:模块、路由、全局变量课堂(持续)
今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...
- 简单的TSQL基础编程格式,存储过程,视图
这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...
随机推荐
- js library 集合
js library 集合 查看已经开源的js library https://cdnjs.com/
- js正则学习分享
http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html http://www.cnblogs.com/tylerdonet/ ...
- Firefox 浏览器有用的插件
1.Undo Closed Tabs Button或Undo Closed Tabs Button (revived) 恢复关闭的标签页 2.NetVideohunter Video Download ...
- JS — 对象的基本操作
JS面向对象系列教程 — 对象的基本操作 面向对象概述  面向对象(Object Oriented)简称OO,它是一种编程思维,用于指导我们如何应对各种复杂的开发场景. 这里说的对象(Object) ...
- chgrp---改变文件或目录所属的用户组
chgrp命令用来改变文件或目录所属的用户组.该命令用来改变指定文件所属的用户组.其中,组名可以是用户组的id,也可以是用户组的组名.文件名可以 是由空格分开的要改变属组的文件列表,也可以是由通配符描 ...
- 【Henu ACM Round #13 B】Spider Man
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 会发现每个环可以操作的次数是固定的. (环的大小-1 也就是说一旦环确定了.其实结果就已经确定了. 则直接看操作总数的奇偶性就可以了 ...
- Spring Cloud学习笔记【二】Eureka 服务提供者/服务消费者(ribbon)
Ribbon 是 Netflix 发布的开源项目,主要功能是为 REST 客户端实现负载均衡.它主要包括六个组件: ServerList,负载均衡使用的服务器列表.这个列表会缓存在负载均衡器中,并定期 ...
- ListView常用操作
1.设置ListView只显示一列,并且每加一条记录是向下添加的. ListView添加方法:把View属性改成Details,再Columns属性中添加一列 然后用如下代码即可实现 ListView ...
- hdu 5312 Sequence(数学推导——三角形数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5312 Sequence Time Limit: 2000/2000 MS (Java/Others) ...
- 实验记录三 通用输入输出(GPIO)
之前把全部程序都跑了一次后,得到了导师下一步的安排. 例如以下: 1.编写一个程序.实如今LCD上显示一个万年历,包含年月日 星期 还有室内的温度.2.编写一个程序,将原来的交通灯改为跑马灯. 期限是 ...