本课程将以
Windows 10 x64
操作系统作为开发环境,其他系统如macOS
根据实际情况自我调整
Ctrl+Shift+p
Configure Display Language
功能完备且强大的浏览器
下载
一款流行且功能强大的编辑器
下载
配置插件:
Prettier
{
"prettier.tabWidth": 2,
"prettier.semi": false,
"prettier.singleQuote": true,
"prettier.trailingComma": "all",
"prettier.printWidth": 80,
"prettier.proseWrap": "preserve",
"prettier.jsxBracketSameLine": true,
}
创建本地静态页面目录 d:/www
配置http server,用来访问本地静态页面目录,如
server {
listen 8200;
location / {
root d:/www;
autoindex on;
}
}
autoindex on;
指令会自动列出指定目录下的所有文件,仅适用开发环境,方便浏览测试,生产环境切勿开启
nginx的简单维护指令,以 PowerShell
环境为例,在nginx安装目录下面执行
nginx.exe
或者执行 ./nginx
不建议start nginx
建议./nginx -s stop
./nginx -s reload
./nginx -t
启动nginx之后,通过浏览器访问 http://localhost:8200/
nginx 启动多次无法取消删掉进程
// 查询nginx进程
tasklist /fi "imagename eq nginx.exe"
// 杀掉nginx进程
taskkill /im nginx.exe /f
练习
自己创建一个html演示一下
index.js
文件,在里面写入以下代码console.log("hello world");
hello world
node index.js
node
,可以进入Node终端,可以在其中进行简单的表达式计算。类似于浏览器的输出行。练习
编写一个js程序,打印当前的时间。【使用Date对象】
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
npm -v
// 查看版本号
npm init
// 初始化本地仓库
npm install [packageName]
// 安装npm的包
练习
使用npm下载moment
包,使用该包打印一下格式化的时间【年-月-日 时:分:秒】
https://git-scm.com/book/zh/v2
Git是目前世界上最流行的分布式版本控制系统,是程序员必须要掌握的工具。
在没有使用版本控制的时候很多人都有过这种经历,如果你正在编写一个程序,经过一段时间的编写你已经积累了很多的文件和代码行,这时候你发现有些代码需要删除或者重构,但是你又担心重构之后的代码出问题,而又无法找回之前的版本,那你只能将目前的代码另存一份,然后每改一次都要另存,久而久之自己也记不清自己要找的代码在哪个版本里面了。随着需求的增加,这时候你需要另外的同学帮忙一块来开发这个程序,你只能将现在的代码发给他,他在你的代码基础上进行开发,最后再手动合并到一块,如果他不小心修改了你的代码,整个代码版本很容易就失控了。
所以我们就需要一个Git可以帮我们自动管理版本的变更,而且可以非常方便地和他人进行协作。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fY6PvmcF-1640573593570)(./imgs/areas.jpg)]
当我们使用 git init
创建版本库如 task
的时候,在当前目录下会出现一个隐藏的 .git
目录,该目录就是我们版本库的控制目录,我们提交的修改都会记录在这里面,如果把 .git
删除,task
就变成一个普通目录而不是版本库了。
存放我们代码文件的位置。
如同字面意思,就是指暂时存取文件的地方,通过 git add
命令可以将工作区的文件添加到暂存区。暂存区作为一个正式提交至版本库(commit
)之前的中转地带,可以让我们临时保存对文件的修改,也可以从暂存区恢复和撤销。
使用 git commit
命令可以将暂存区的文件提交至本地仓库。
我们的作业仓库就是一个远程仓库,它托管在一个中心服务器上,通常我们使用 git clone
命令将远程仓库代码拷贝下来,本地代码更新之后,通过 git push
推送给远程仓库。
在仓库目录执行下面的命令可以查看一个文件的状态
git status
我们可能会看到下面几种情况
工作区中有改内容,但是暂存区没有,我们需要通过 git add
将其添加进暂存区
已经被添加进暂存区的文件,可以通过 git commit
提交到版本库,也可以使用 git reset HEAD
来撤销暂存
未追踪的文件,可以通过 git add
添加进暂存区
工作区所有的更改都已经提交至版本库
在我们初始化仓库的时候Git会自动帮我们创建名为 master
的主干分支,在平时的开发中我们通常会创建不同的分支来用于不同的开发目的,例如 master
通常作为主干分支,用于部署生产环境的代码,一般由 develop
分支代码合并而来,任何情况下都不应该直接修改代码。develop
分支作为日常的开发分支,功能开发完毕之后,代码合并进 master
。bugfix
分支用来修复 master
的bug,修复完成之后代码需要合并进 master
和 develop
。
实际情况中比这个一般还要复杂一些,可能还会有一些其他作用的分支。为什么需要这样设计呢?试想一下这样一个场景,大家都在一个主干分支 master
上面开发并且代码已经上线一个版本,然后继续在 master
上面开发新的功能,这时候突然发现了严重的bug需要紧急修复,但是 master
上面的新功能还只开发了一半无法发布版本,只能去修改历史版本的代码,维护比较麻烦。如果我们通过分支的方式来管理就会是下面的步骤了:
develop
分支开发,等到第一个把版本完成之后,合并进 master
,从 master
发布版本develop
分支继续开发新功能master
发现bug需要修复master
创建 bugfix
分支用于修复bug,bug修复完成合并进 master
和 develop
,master
发布新版本上线develop
开发完新功能,继续合并进 master
git branch
git branch develop
git checkout develop
git branch -d develop
删除之前需要先切换到其他分支
git push -d develop
.gitignore
是Git的忽略文件,用来告诉Git忽略哪些文件,不要将他们加入到追踪列表,.gitignore
会对当前目录及子目录起作用,也可以在不同的目录分别放置,配置示例如下
# 忽略 node_modules/ 目录下所有的文件node_modules# 忽略 dist/ 目录下的所有文件dist# 忽略src下所有的txt文件,包含子目录src/**/*.txt# 忽略src下面的txt,不包含子目录src/*.txt# 忽略所有的md文件.md# 不忽略README.md!README.md
我们来看一个基本的Git使用流程
test
,在空目录 test
执行命令,注意该命令是用来创建版本库,只需要执行一次,也不要在子目录重复执行git init
git config user.name "your_name"git config user.email "your_email"
develop
分支git branch develop
develop
分支git checkout develop
index.html
git add index.html
git checkout index.html
git reset HEAD index.html
这里的HEAD就是指向当前分支的一个指针
git commit -m "message"
git log
如果要查看最近的两条详情
git log -p -2
develop
分支到 master
git checkout mastergit merge develop
git remote add origin https://git.xxx.com/repo/test
这里的origin是我们习惯的远程仓库的别名,你也可以选择其他的名字或者链接到多个不同的远端仓库地址,但是对于同一个远端地址不要重复添加。
git push -u origin master
这里的origin是我们前面添加的远端仓库地址的别名,master是分支名称,表示把本地的 master
推送至origin的 master
分支,-u
参数可以让我们以后省略后面的参数,可以直接执行
git push
git push会验证用户的身份
git clone https://git.xxx.com/repo/test
这个命令会自动克隆代码到当前目录的 test
目录,如果你想指定一个其他的名字,可以使用
git clone https://git.xxx.com/repo/test test2
git pull
如果要取远端仓库的指定分支
git pull origin develop
练习
Git练习