发布日期:
2022-04-05
更新日期:
2022-04-05
文章字数:
1.8k
阅读时长:
7 分
阅读次数:
Node.js
什么是Nodejs
- Node.js 是一个基于 Chrome 谷歌V8 引擎的 JavaScript 运行环境
优缺点
- 优点
- 异步非阻塞的 I/O (I/O 线程池)
- 特别适用于 I/O 密集型应用
- 事件循环机制
- 单线程
- 可以跨平台
- 缺点
- 回调函数嵌套太多、太深 产生回调地狱问题
- 单线程 处理不好 cpu 密集型任务
Nodejs的安装
- 标准化安装(傻瓜式)
检测Nodejs 是否安装成功
node -v
返回当前nodejs版本号 命令
npm -v
返回当前npm的版本号 命令
npm install xxxx
安装一个包的命令
其他
cls 命令清空 控制台
Nodejs与npm的关系
- 我们在开发时,经常会用到很多别人已经写好的代码或第三方库,我们一般会这样操作:搜索,下载,解压,引入。
如果每次都这么做势必很麻烦,于是Node.js的设计者打造了一个包管理器:npm,一些第三方库的作者把代码放在npm上。
当我们想要使用时,直接通过npm命令去安装即可,不用去理会应该下载什么?放在哪里?一切都处理好。
而且如果我们要用的模块A,而模块A又依赖模块B,模块B又依赖模块C和D,那么npm会根据依赖关系,把所有依赖的包都下载下来并且管理起来。
- 1.npm全称:Node package manager(Node包管理器),安装了Node就自动安装好了npm。
2.包(库、项目):电脑上的一个普通文件夹,包含了package.json,就变成了一个符合npm规范的包。
3.使用命令:npm init把一个普通的文件夹变成一个包,即自动生成package.json
- 为了让你的npm下载东西更迅速,请务必执行以下命令 npm config set registry http://registry.npm.taobao.org/
dos 命令
- cd xxx 进入xxx文件或文件夹
- cd.. 返回上一级目录
- ls 列出当前文件夹中所有文件
- clear 清屏
- mkdir xxx 创建一个空文件夹
- cat xxx 查看文件内容
- pwd 显示当前目录的路径
- vi 文件名.后缀 创建一个文件
- 自动进入了文件 输入i 进行编辑模式
- esc+ : + wq +enter 保存并退出文本编辑
- esc+ : + q! +enter 不保存并退出文本编辑
git 命令
- 配置和查看git的name 和email
- git config –global user.name “Your Name” 配置姓名
- git config –global user.email “email@example.com“ 配置邮箱
- git config user.name 用于查看配置的姓名
- git config user.email 用于查看配置的邮箱
- git init 初始化版本库
- git remote add origin https://github.com/xxxxx/a.git 关联一个远程库
- git add 添加指定文件到暂存区
- git commit -m “提交描述” 提交暂存区所有文件到版本区
- git push -u origin master 将内容推送到远程仓库
- git push -u(第一次尽量加上-u,以后不用)origin master:把当前master分支推送到远程库
- git status:查看仓库状态
- 红色表示在工作区
- 绿色表示在暂存区
- 没有任何显示代表所有文件位于版本区
- git log:查看历史记录
- git reflog:查看历史记录的版本号id
- git reset –hard HEAD^:往上回退一个版本
- git reset –hard Obfafd 回退到指定Obfafd的commit id版本
- git reset HEAD 用版本库中的文件去替换暂存区的全部文件
- git checkout – xx:把xx文件在工作区的修改全部撤销
- git rm –cached x.txt 从暂存区删除文件
- git rm xx:删除xx文件
- git rm -r xxxx 删除文件夹
- git clone https://github.com/xxxxx 从远程库中克隆
- git branch xxx:创建分支xxx
- git checkout -b dev:创建dev分支 并切换到dev分支上
- git branch:查看当前所有的分支
- git checkout master:切换回master分支
- git merge dev:在当前分支合并dev分支
- git branch -d dev:删除dev分支
- git diff branch1 branch2 显示出两个分支之间所有有差异的文件的详细差异
- git diff branch1 branch2 –stat 显示出两个分支之间所有有差异的文件列表
- git diff branch1 branch2 xxx 显示指定文件的详细差异
- git remote:查看远程库信息
- git remote -v查看远程库的详细信息
- git pull origin master 将远程库的更新拉取到本地并自动合并
- git push origin master:git会把master分支推送到远程库对应的分支上
git 配合 gitee创建远程仓库 流程
- git init 初始化版本库
- git remote add origin https://github.com/xxxxx/a.git 关联一个远程库
- git add 添加指定文件到暂存区
- git commit -m “提交描述” 提交暂存区所有文件到版本区
- git push -u origin master 将内容推送到远程仓库
使用SSH方式与github交互
- 创建一对新的SSH秘钥(keys)
- 输入命令:ssh-keygen -t rsa -C “你Github注册的邮箱” 建议一路回车 用默认的ssh存放地址 密码不设置 直接回车
- 根据ssh生成的地址找到该文件进行内容复制在粘贴到 github中
- 运行命令将公钥的内容复制到系统粘贴板(clipboard)中 win+v键查看是否复制成功 在将复制内容粘贴到github
- 命令: clip < ~/.ssh/id_rsa.pub
- 检查git是否和github关联上 命令:ssh -T git@github.com
工作区+版本区+暂存区
- 工作区(working Directory):简单的理解——你在电脑里能看到的目录
- 暂存区(stage):介于工作区和版本区中间,工作区到版本区的“必经之路”
- 版本库(Repository):工作区有一个隐藏目录.git,准确的来说这个不算工作区,而是Git的版本库。
案例
场景:本地仓库与远程仓库同步 克隆远程仓库 删除一个文件 又上传一个文件 (此时实现远程和本地同步)
- 问题产生原由:克隆远程仓库 删除一个文件 又准备上传一个文件 此时新创建的文件可以上传成功 但是 此时 本地库和远程仓库 不一致
- 解决方法
- git fetch –all 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
- git reset –hard origin/master
- git reset 版本号,就是回退到该版本号上。
- git reset HEAD就是回退到当前版本。git reset HEAD^回退到上一版本
- git pull 将远程库的更新拉取到本地并自动合并
场景 两人同时提交代码时 后一个无法提交 与前一个提交产生冲突
- 问题产生原由:两个人本地库一模一样 a在第一行抒写一串代码b也如此 a先上传了但时此时b也要上传 b无法上传
- 解决方法:
- git pull 将远程库的更新拉取到本地并自动合并
- 合并后 先处理非代码的提示信息 利用插件插件会显示 两者之间冲突的代码
- 考虑优先级 谁先上传将谁的提前放 手动处理
- 在重新提交