前后端
概述
- 一个web应用(网站、app、h5游戏等)从开发角度分为前端和后端。
- 前端主要负责页面的实现以及页面交互以及数据渲染(数据来自于后端).
- 后端主要负责服务器程序的编写以及数据库的交互,以及将数据传给前端或数据库
- 前端和后端的交互:一个基本的流程
- 前端通过ajax等技术发送请求到服务器,服务器接收请求并处理,处理后发现需要数据,后端开发人员就会去数据库里拿数据,服务器拿到数据库数据之后再传给前端。
- 技术栈
- 前端:HTML+css+JavaScript+vue(生态)+react(生态)
- 后端:NodeJs+Express
- 数据库:MongoDB、mongoose(实现和nodejs进行交互)
- 服务器程序工作
- 接收和处理请求
- 读取或保存数据到数据库
- 将前端获得的数据以及从数据库拿到的数据进行交互
Node.js是什么
概述
- Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 Node.js可以解析和运行JavaScript代码
- Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)
- 既不是语言,也不是框架,它是一个平台
- Node.js 中的 JavaScript
- 没有 BOM、DOM
- EcmaScript 基本的 JavaScript 语言部分
- 在 Node 中为 JavaScript 提供了一些服务器级别的 API
- 文件读写操作
- http 服务器
- 网络服务器的构建
- 构建与Chrome的V8引擎之上
- 代码只是具有特定格式的字符串
- 引擎可以认识它,帮你解析和执行
- Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
- Node.js的作者把Google Chrome中的V8引擎移植出来,开发了一个独立的JavaScript运行时环境
特性
- envent-driven 事件驱动
- non-blocking I/O mode 非阻塞IO模型(异步)
- lightweight and efficent 轻量和高效
- npm是世界上最大的开源库生态系统
安装
官网安装:http://nodejs.cn/download/current/
- win7:选择12.x。win10:用最新的稳定版本,目前是14.x
傻瓜式安装(一路
next
)安装过再次安装会升级
测试安装成功
- 打开终端命令行,输入
node -v
查看当前版本 - 若出现
不是内部或外部命令
则需要进行环境变量的配置
解析执行js
- 创建JavaScript脚本文件
- 打开终端,进入脚本文件目录
- 输入
node 文件名.js
执行对应文件
文件读写
//fs是file-system的简写,就是文件系统的意思
//在Node中如果想要进行文件的操作就必须引用fs这个核心模块
//在fs这个模块中,就提供了所有文件操作相关的API
//例如 fs.readFile就是用来读取文件的
// 1.使用fs核心模块
var fs = require('fs');
// 2.读取文件
fs.readFile('./data/a.txt',function(err,data){
if(err){
console.log('文件读取失败');
}
else{
console.log(data.toString());
}
})
// 3.将数据写入文件
fs.writeFile('./data/a.txt','我是文件写入的信息',function(err,data){
if(err){
console.log('文件写入失败');
}
else{
console.log(data.toString());
}
})
Http服务器
// 1.加载http核心模块
var http = require('http');
// 2.使用http.createServer()创建一个web服务器
var server = http.createServer();
// 3.服务器要做的事儿
// 提供服务:对数据服务
// 发请求
// 接收请求
// 处理请求
// 反馈(发送响应)
// 当客户端请求过来,就会自动触发服务器的request请求事件,
//然后执行第二个参数:回调处理函数
server.on('request',function(){
console.log('收到客户的请求了')
})
// 4.绑定端口号,启动服务
server.listen(3000,function(){
console.log('runing...')
})