Git
分布式的版本控制系统
1.常用命令
分支:
2.SSH Key
用于本地与远程中央仓库连接认证(不用每次输入用户名与密码)。
本地生成 ssk key 所需要使用到的 rsa 公私钥密钥对:
执行命令时,一路回车完成文件创建,默认在 系统用户目录下,会生成 目录,在该目录下有两个文件: 与 。打开 公钥文件,复制所有内容。
在远程中央仓库用户账 中配置:
个人头像 –> 设置 –> 左侧 安全设置下 –> 粘贴复制的 文件内容 –> 确定 –> 确认密码 –> 添加成功
配置完成后,可测试是否配置成功:
看到类似如下信息,则说明配置成功:
Nodejs
官
中文文档 【读后端文档】
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。
“Ryan Dahl 现在是 Google Brain 的一个软件工程师。他是 Node.js 之父,Node.js 是一个基于 Chrome V8 JavaScript 引擎的 JS 运行环境。”
Nodejs版本 => 偶数稳定 | 奇数开发版本
1.npm
– node 包资源管理器
-
cnpm npm install -g cnpm
-
yarn npm i -g yarn
安装包
- 是将安装包资源信息保存到 package.json 中的 dependencies 字段中,而 是保存到 中。 可以简写为 , 可简写为
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题
2.package.json
项目描述文件 =>记录安装的依赖包
npm scripts
在 package.json 文件中,有一个 字段,可以在命令行中使用 来执行这个字段中的脚本:
可执行
3.bs请求响应模式
Broswer浏览器
Server服务器
B/S 请求-响应模式
Client客户端
Node.js 创建第一个应用
端口 范围 0-65535,前1024端口为系统预留
-
http 80端口
-
https 443端口
-
浏览器chrome测试中,不要监听6666端口
-
js是单线程 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如两个线程同时操作一个dom。
nodejs.js 文件内容如下:
4.模块化
模块化规范:
前端模块化开发中:一个js文件就是一个模块,在js文件模块中定义的数据是私有的, 可以向外部暴露数据和方法,其它js文件模块可以引入暴露的方法数据进行使用
- AMD – require.js
- CMD – sea.js
- commonJS – NodeJS (引入依赖模块require() ,moudle.exports定义导出模块 )
- ES6 – import / export
5.nodemon
这是一个能够监视文件变化,在文件变化后自动重启node应用的工具
6.核心模块
nodejs官
oop 面向对象编程
oo 面向对象
-
os-操作系统
-
globa-全局变量:
-
path-路径
-
http-http模块
-
fs-文件系统
-
querystring-查询字符串 – 作用 向后端传递参数数据,请求数据
-
events – 事件
-
…
Express
基于 Node.js 平台,快速、开放、极简的 Web 开发框架
0.安装
1.使用
1.利用express搭建服务器
- req.body 使用中间件,用于解析处理post请求主体的数据 =>req.body
- req.query 请求路由,get请求获取url中的请求参数
- express.static(‘public’) 使用中间件,托管静态资源将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了
//引入express模块const express = require('express')//创建Express 应用实例const app = express()// 使用中间件,用于解析处理请求主体的数据 =>req.bodyapp.use(express.json()) // for parsing application/jsonapp.use(express.urlencoded({ extended: true // 普通文本数据})) // for parsing application/x-www-form-urlencoded// 使用中间件,托管静态资源将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了// 如果要使用多个静态资源目录,请多次调用 express.static 中间件函数://Express 在静态目录查找文件,因此,存放静态文件的目录名不会出现在 URL 中。app.use(express.static('public')) //=>url直接访问对应页面/* 处理路由 */// 处理 GET 请求// app.get('/', (req, res) => {// /*此应用程序启动一个服务器并在端口 3000 上侦听连接。该应用程序响应“Hello World!” 对根 URL ( /) 或路由的请求。对于其他所有路径,它将以404 Not Found响应。 */// // res.send('你好!Express!!!')// // console.log('__dirname:',__dirname)// // // res.sendFile('public/index.html') => 绝对路径// // //TypeError: path must be absolute or specify root to res.sendFile// // res.sendFile(__dirname + '/public/index.html')// // res.json({// // code:200,// // data:{// // usesrInfo:{// // name:'张三',// // age:18// // }// // }// // }) // })//处理post请求app.post('/api/login.do', (req, res) => { //获取请求主体的数据 console.log('BODY', req.body); //BODY undefined => express官 Api参考手册 const {username,password } = req.body // TODO: 进行数据库验证 // TODO::::: res.send('处理用户登录')})// 处理get请求app.get('/api/login.do', (req, res) => { //获取请求主体的数据 console.log('BODY', req.query); //BODY undefined => express官 Api参考手册 const {username,password } = req.query // TODO: 进行数据库验证 // TODO::::: res.send('处理用户登录1')})app.listen(9527, () => { console.log声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!