【看知识点的跳过本段,往第二段看】本来想说是最近太忙了,所以原本计划的一周一次总结泡汤了,六月就写了一篇,转眼已经是七月了,惭愧惭愧。但是事实是一旦从事互联网行业,emmm,十有八九都是这样吧,晚上加班,哦,已经不能说是加班了,就是正常的企业文化就是十二点往后还在做东西,每天两点多睡觉,早上又要七点多起来上班去。。。工作不是人生最重要的事,健康才是。所以能休息的时候一定要休息,这是我想提醒给看到我这篇文章的人的良心建议。不然你生病以后,尤其是严重的大病,你会发现什么都是虚妄,只有你自己好好活着才是最重要的。《我不是药神》这是我前两天刚看的一部热映的电影,根据真实事件改编的,实实在在的病人买不起天价药,活生生等死的真事儿。健康的价值总是被人忽略,人们总是失去了才知道珍惜,但是还醒悟不过来。还有就是这周找房子搬家的事,整的我心力交瘁,房屋托管公司,呵呵,手动微笑,草泥马。
本次总结几个点:
1.Node.js
2.http/路由
3.芒果数据库
4.express+node.js
5.socket/websocket/socketio
【此处声明:我用的编译器是Hbuilder 运行环境是win7系统 Node.js安装的最新版本 express等也是最新】
一.Node.js
为什么要学习node.js 因为可以辅助前端开发,代替后台开发
创建服务器
找到你的项目所在的文件夹,然后按住shift键,运行命令符,输入 npm init 随后的一系列命名都直接按回车键默认,然后安装npm install jquery --save-dev ,然后在编译器HB中写一个js文件server.js,内部代码如下
//引入http模块
const http = require("http");
http.createServer((req,res)=>{
res.writeHeader(200,{"content-type":"text/html;charset=utf-8"});
res.write("bbb");
res.end();
}).listen(8000,"127.0.0.1");
console.log("服务器已开启,地址为127.0.0.1:8000");
最后在命令运行窗口输入node server 回车
此时服务器就创建好了,测试时res.write( )输入什么就会在服务器显示什么,但是每次都需要重新运行一遍代码npm server 然后再刷新页面。这样是很麻烦的,所以我们要再加一个热更新,热更新就是可以不用重复执行node,自动更新内容并且刷新页面(supervisor)。好了,现在你彻底建好服务器了。
关于nodejs的详细用法可以参考他的官方网站上的API接口文档,网上一搜就有,好吧我人好,给你链接。
tips:
安装和测试的时候可能会报各种你懵逼的错误,有的错误是标点符号的输入错误(平时敲代码认真一些,仔细一些避免可避免的错误,会省很多时间和精力去排错和重复工作),有的错误是配置环境时出现的不可预知的错误(这种没办法的,把之前装的东西删掉重新装就行了,我在以前配置gulp环境的时候,坚信自己没错,各种试图解决安装过程中的bug,事实证明是徒劳也没有必要。删掉重新装,有效还效率高)。基本上我遇到的错误就是这两类,如果你遇到什么别的bug,如果能分享给我,我非常感谢。
二. http/路由
一部分中咱们创建了服务器,在实际开发中仅仅有服务器显然是不够的,还要有登录注册,主页,商品列表页,购物车,关于我们等等这些功能性页面。如何实现页面之间带着用户信息的跳转呢,这就要看路由和Http的相关协议了,建议初学者好好查一些计算机的协议知识。
http的方法什么的,在nodejs的API文档里有,看了就知道怎么用了,大量实例都在里面,你也可以找一些接口自己串起来去用一下,
路由:
路由模板
var http = require("http");
var router = require("./router.js");
//var url = require("url");
var server = http.createServer(function(req,res){
if(req.url != "/favicon.ico"){
var surl = req.url.slice(1);//url.parse(req.url).pathname.replace(/\//,"")
res.writeHead(200,{"content-type":"text/html;charset=utf-8","Access-Control-Allow-Origin":"*"});
try{
router[surl](req,res);
}catch(e){
router["404"](req,res);
}
//res.end();
}
});
server.listen(8000);
tips:
三. 芒果数据库 mongodb
芒果数据库 这几年使用范围比较大,阿里巴巴,京东等。增删改查的操作相对而言比mysql简单
非关系型数据库
四. Node.js Express 框架
好像这个没啥好讲的,完整的安装教程什么的,照着一步步做就行,遇到安装中显示的代码跟你的安装不一样的,不要慌,那是nodejs版本不同的缘故,只要没报错,你就继续走流程就行。
下面这个也得安装和学习,因为他们都是搭配使用效果更好的,不知道什么时候开发可以一个软件就搞定,做个项目装一堆插件的,发愁。。。光配置环境都得等好久了
安装好了以后,创建一个新的项目,大概长这样
五 socket 实时双工通讯 聊天的三种写法
了解一下 socket是什么东西
单工,半双工(a给b可以,b不能给a。消息传递结束后,b给a可以,a给b不行。该模式会被逐步淘汰),双工 三种通讯模式
了解一下这个,第二种写实时通讯的方法。第三种是socketio也是网上一搜就有网站有教程,在此推荐一下,不做具体搬运