目的
- 1.了解你得开发经验,你是否真的开发过呢?
- 2.开发环境,最能体现工作效率
- 3.聊天的形式为主,而不是具体的问题
学什么
- IDE(写代码的效率)
- git
- js模块化
- 打包工具
- 上线回滚的流程(小公司大公司的区分)
ide
- webstorm 收费 灰常强大…
- sublime 免费的 轻量级 屌丝专用
- vscode 微软推出的 小清新的选择
- atom github 自己开源的编辑 小清新的选择
插件
Git
- 网络git服务器 coding.net github.com
- 非开源 自己的git服务器
- 操作必须熟练
git add.
git checkout XXX 还原
git commit -m 'zadile'
git push origin master
git pull origin master
git branch
git checkout -b 'xx' /git checkout XXX 创建新的分支
git merge XX
模块化
- node 模块的规范commonjs
- cmd seajs amd require
- umd 兼容处理
- esmodule
- 如何定义(js)
- 如何导入模块(export)
- 如何导入(import)
AMD
CommonJS
- nodejs模块划分与发布 npm 构建化工具
- 不会异步加载,同步一次性加载出来
module.exports ={}
var aa = require()
构建工具
- grunt
- gulp
- fis3
- webpack
webpack
npm install wabpack –save-dev
dev 开发环境中使用,正式环境不用
var path = require('path')
var webpack = require('webpack')
module.exports = {
context:path.resolve(__dirname,'./src')
entry:{
app:'./app.js'
},
output:{
path:path.resolve(__dirname,'./des')
filename:'bundle.js'
}
plugins:{
new webpack.optimize.UglifyJsPlugin() //代码压缩的方法
}
}
总结:代码的合并和压缩,打包
上线流程和回滚
- 上线流程和回滚的基本流程
- linux基本命令(阿里云上买一个月,坑一下)
上线流程
- 测试完成的代码提交到git版本库master分支
- 当前副武器的代码全部打包,记录版本号
- master分支的代码提交到覆盖的线上服务器,生成新的版本号
及时回滚
- 将当前的服务器代码打包并记录,
- 将备份的上一个版本号解压,覆盖到线上服务器,生成新的版本号。
场景1:文件修改,没执行git add
git checkout XXX
git checkout .
场景2 执行git add后1
git add *
git status
git reset head XXX
场景3 撤销修改
git reset head XXX
git checkout XXX
场景4 文件已经git commit
git add XXX
git commit -amend -m
场景5多次本地git commit操作
git reset hard/soft/mixed/merge/keep commit
#回滚
撤销当前文件到指定版本
git log
git checkout <commit>xxx
删除最后一次远程提交
git revert HEAD
git push origin master 当期指定提交的修改,会生成一次新的提交,需要填写注释,历史记录都在
git reset --hard HEAD
git push origin master 历史消息会放弃提交记录
回滚到某次提交
git log --oneline -n5
git rebase -i "commit id" ^
git rebase -i "id"
git push origin master -f
linux基本命令
- 登录: ssh name@server 账号,密码
- 创建文件夹 mkdir
- 查看文件夹 ls
- 查看文件夹列表 ll
- 打开文件夹 cd
- 查看目录 pwd
- 删除 rm -rf
- 打开文件 vi
- 移动 vm
- 删除文件 rm
-vi 编辑器 - i 进入输入环境
- esc 退出环境
- 保存 esc + w
- 退出 :q
- 保存退出 wq
- cat 打印查看
- head 查看前部分
- tail 查看尾部
- 搜索 grep ‘2’ a.js