express

引题:
http-server 简单但封装好了,是一个小工具。
内置http包,偏底层,如果开发复杂但web项目,代码量比较大。
所以我们使用web开发框架,封装了http包和其他各种功能库,规定了项目基本架构(路由层、服务层)。
优点:借助框架可以更方便高效开发。
缺点:需要学习框架知识额外但学习成本;封装隐藏细节,报错不容易排查。

nodejs生态流行的web框架:
express,结构传统,js函数式变成, 易于打基础理解。(以这个为例教学)
koa,使用promise新语法,封装程度更强,大型项目中代码更加简洁和易于维护。 个人观点不如express容易理解。正在流行中。(课下选做)

express入门

express中文
主要关注’快速入门’,‘完整api文档’

新建项目

  1. 创建一个文件夹作为项目目录。 本来应该创建一个跟tutorial同级别的文件夹,但初期代码简单,我们直接在当前项目下创建3express文件夹
  2. cd到项目目录下, cd到 3express
  3. npm init 创建向导,大部分选项直接回车保持默认,除了entry point改为app.js,生成package.json
  4. npm install express --save 安装了express及其依赖包,项目目录下node_modules文件夹,里面有关于express和web开发各种库(url mine bytes 等等)
    安装express库并且把依赖描述写入package.json,方便分享项目和方便他人安装依赖。
    可能的报错:getaddrinfo错误,原因是一些命令或web服务需要读取电脑本机ip地址、计算机名。这个方法ascii解码。如果windows用户名为中文(gbk)会导致错误。

// 搭建简易web服务器
// 1. 安装第三方包 npm install http-server -g,简易http服务器,适合学习和测试和共享文件。 生成全局命令hs或http-server。
// 系统终端如powershell > http-server 可以打开web服务器监听。
// 服务开启后按照提示的ip进行访问。在多级路由中可能一个电脑可能有多个ip地址。
// 服务绑定地址127.0.0.1:8080 只有自己可以访问自己的电脑;
// 服务器如果运行在0.0.0.0表示不限制客户端ip 别人可以根据我的ip 192.168.221.221 访问我的电脑访问我的电脑; 场景上线网站。
// 日志:log,随着客户端访问观察到服务端打印信息(客户端请求时间、url路由、user-agent)
// 我们开发过程中一台电脑既做服务器(编写并运行到代码)又做客户端(浏览器)。

// 2. nodejs已内置http库来处理http响应和请求。内置库优点不需要安装、非常稳定,缺点代码偏底层没有框架方便。
var http = require(‘http’);

// 创建服务器对象
var app = http.createServer(function(req,res){
//req 客户端请求信息(路由、时间、useragent、查询参数)
// response 当一个请求进来时,给它响应信息
res.end('HELLO WORLD ')
});
// 开启服务器
app.listen(8080,function(){
console.log(‘服务已开启在127.0.0.1:8080。。。’);
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值