JS 面试知识学习历程(第八天) -- JS开发环境
2018-02-02 17:32
337 查看
Chapter8 JS开发环境
这是我自己的学习过程总结,如果有什么写的不清楚的地方,欢迎大家交流、批评、提问。可以在这里评论,也可以在github上提问,谢谢大家
IDE(写代码的效率)git(代码版本管理,多人协作开发)
JS模块化
打包工具
上线回滚的流程
8.1 IDE
webstormsublime
vscode
atom
插件
8.2 Git
正式项目都需要代码版本管理大型项目需要多人协作开发
Git 和 linux 是一个作者
网络Git服务器如 coding.net github.com gitee.com
一般公司代码非开源,都有自己的Git服务器
常用Git命令
git add . // 增加某个或全部文件git checkout xxx // 取消某个文件
git commit -m “xxx” //提交本地仓库 后面是备注
git push origin master // 提交远程仓库的master分支
git pull origin master // 获取
git branch // 当前分支
git checkout -b xxx / git checkout xxx // 新建分支,切换分支
git merge xxx // 合并分支代码
8.3 JS模块化
不实用模块化
层层引用util.js getFormatDate函数
a.util.js aGetFormatDate函数 使用getFormatDate函数
a.js aGetFormatDate
// util.js function getFormatDate(date, type 4000 ) { // type === 1 返回 2017-06-15 // type === 2 返回 2017年6月15日 // ... } // a-util.js function aGetFormatDate(date) { // 要求返回 2017年6月15日 格式 return GetFormatDate(date, 2) } // a.js var dt = new Date() console.log(aGetFormatDate(dt))
<!-- 使用 --> <script src="util.js"></script> <script src="a-util.js"></script> <script src="a.js"></script> <!-- 1. 这些代码中的函数必须是全局变量,才能暴漏给使用方,全局变量污染 --> <!-- 2. a.js 知道要引用 a-util.js,但是他知道还需要依赖与util.js吗? -->
使用模块化
//util.js export { getFormatDate: function (date, type) { // type === 1 返回 2017-06-15 // type === 2 返回 2017年6月15日 // ... } } // a-util.js var getFormatDate = require('util.js') export { aGetFormatDate: function (date) { // 要求返回 2017年6月15日 格式 return GetFormatDate(date, 2) } } // a.js var aGetFormatDate = require('a-util.js') var dt = new Date() console.log(aGetFormatDate(dt)) // 使用直接`<script src="a.js"></script>`,其他的根据依赖关系自动引入 // 那两个函数没必要做成全局变量,不会带来污染和覆盖
AMD(Asynchronous Module Definition 异步模块定义)
require.js requirejs.org/全局 define 函数
全局 require 函数
依赖JS会自动、异步加载
CommonJS
nodejs 模块化规范,现在被大量用于前端开发的原因:前端开发依赖的插件和库,都可以从npm中获取
构建工具的高度自动化,使得使用npm的成本非常低
CommonJS不会异步加载JS,而是同步一次性加载出来
打包工具
webpack
参看专门说明webpack的文章上线和回滚
1.上线和回滚的基本流程
上线流程的要点将测试完成的代码提交到git版本库的master分支
将当前服务器的代码全部打包并记录版本号,备份
将master分支的代码提交覆盖到线上服务器,生成新版本号
回滚流程要点
将当前服务器的代码打包并记录版本号,备份
将备份的上一个版本号解压,覆盖到线上服务器,并生成新的版本号
2. linux基本命令
mkdir a ls ll cd a pwd cd ../ rm -rf a vi a.js cp a.js a1.js mkdir src mv a1.js src/a1.js rm a.js cat a.js head -n 1 a.js tail -n 2 a.js grep '2' a.js
gitbub地址 持续更新 可下载
https://github.com/zust-hh/JavaScript_interviewing_knowledge_learning相关文章推荐
- JS 面试知识学习历程(第九天) -- JS运行环境
- node.js的学习历程一开发环境搭建和helloworld
- JS 面试知识学习历程(第六天) -- DOM操作和BOM操作
- JS 面试知识学习历程(第四天) -- 异步和单线程
- JS 面试知识学习历程(第一天)
- JS 面试知识学习历程(第七天) -- 事件、Ajax、存储
- JS 面试知识学习历程(第五天) -- 其他知识
- JS 面试知识学习历程(第三天) -- 作用域和闭包
- JS 面试知识学习历程(第二天) -- JS基础知识(上)
- ES6 学习笔记 (2)-- Liunx环境安装Node.js 与 搭建 Node.js 开发环境
- nodeJS学习(6)--- Sublime Text3 配置Node.js 开发环境
- Node.js的学习历程二同步异步调用等基础知识的理解
- iOS开发学习手动内存管理暂时抛弃ARC以及retain/assign知识——iOS工程师面试必考内容
- HybridAPP:AngularJS+Ionic+Cordova开发学习【二】环境搭建
- android学习历程2--搭建开发环境
- Linux Python基础知识学习,使用Eclipse与Pydev搭建python开发环境
- Node.js的学习历程四npm的基础知识点
- java基础学习——java开发环境面试笔试题
- Gstreamer学习历程(一):Ubuntu 12.04安装Gstreamer开发环境并测试
- Java开发环境安装及阶段学习需掌握知识