目前的打算是前端用Vue+element,后端用Nodejs的Express框架,实现一个展示页面和后台管理页面。打算记录学习过程。
推荐两个教程:
https://www.cnblogs.com/xifengxiaoma/tag/element/
https://juejin.im/post/59097cd7a22b9d0065fb61d2#heading-1
https://panjiachen.github.io/vue-element-admin-site/zh/guide/
https://blog.csdn.net/sps900608/article/category/7482283/1
1.Nodejs介绍
JS和Nodejs
1、ES 定义了语法规则,JS和Nodejs必须遵守
2、js js=ES+web API(DOM,BOM,事件绑定,ajax)
3、node.js node.js=ES+nodejs API(处理http,处理文件等) ,两者结合,可完成server端的任何操作
Commonjs和ES6模块使用规范
//Commonjs
//math.js
let add=(x,y)=>{
return x+y;
}
let sub=(x,y)=>{
return x-y;
}
module.exports={
add:add,
sub:sub
};
let math=require('./math');
let test=math.add(3,3);
console.log(test);
//ES6模块化
//lib.js
let bar=function(){
console.log('this is bar funciton');
};
let foo=function(){
console.log('this is foo function');
};
export {bar,foo}
//加载 lib.js文件
import {bar,foo,test,obj} from './lib'
foo();//this is foo function
server开发和前端开发的区别
环境思维工具的区别,而不是语言的区别
1.服务的稳定性:server端可能会遭受各种攻击和误操作,单个客户端可以意外挂掉,但是服务端不能
2.考虑内存和CPU(优化和扩展):客户端独占一个浏览器,内存和CPU都不是问题,但是 server 端要承载很多请求,CPU和内存都是稀缺资源
3.日志记录:前端也会参与写日志,但是只是日志的发起方,不关心后续;server端要记录日志,存储日志,分析日志
4.安全: server端要随时准备接受各种恶意攻击(如越权操作,数据库攻击等),前端则少很多
5.集群和服务拆分:流量扩大,解决机器的负荷
2.HTTP请求(get和post)
HTTP请求解析过程 (简单概括)
1.域名解析
用户输入网址,由域名系统DNS解析输入的网址;
2.TCP的3次握手
通过域名解析出的IP地址来向web服务器发起TCP连接请求,如果3次握手通过,则与web服务端建立了可靠的连接;
3.发送http请求
web客户端向web服务端发送请求;
4.接收http响应
web客户端接收来自web服务端的响应,包含各种根据请求反馈的数据;
5.web客户端(浏览器)解释响应
最后由浏览器解析响应里的数据,即HTML代码,以及HTML代码中请求的资源,然后由浏览器呈现给用户。
get请求和post