常用git命令-备记

git checkout -b new-feature
git status
git add .
git commit -m “message for this time”

git push -u origin new-feature

// create pull request on stash web

// delete the new-feature
git branch -D new-feature

// for very large repo
git clone -b –depth=1

// if local is behind
git pull origin master

vi 使用技巧

显示回车换行

:e ++ff=unix

移动光标

  • 0 – 移动到行首
  • ^ – 移动到行首的非空白符
  • $ – 移动到行尾
  • h – 左移光标
  • j – 下移光标
  • k – 上移光标
  • l – 右移光标
  • Ctrl + b – 向后滚动一屏
  • Ctrl + f – 向前滚动一屏
  • Ctrl + d – 向前滚动半屏
  • Ctrl + u – 向后滚动半屏

https://vim.rtorr.com/lang/zh_cn

TypeScript+Babel+Webpack企业级应用开发的感想

所谓的企业级应用,从技术是说要支持极为广泛的用户浏览器,比如IE11,Edge,以及对ES6支持更好的Chrome/Safari等等。

旧的浏览器只能支持ES5是一个极为糟糕的痛点,不得不通过各种办法翻译代码到ES5。我的选型就是TS+Babel+Webpack,基本上也是前端的标配了。比较坑的是这里面配置文件的设定要花一些时间,消耗了我不少脑细胞和时间去搜索和尝试,感兴趣的可以留言交流具体的问题。有一个小窍门,是参考其它框架的工程实践,比如vue的https://cli.vuejs.org/zh/guide/browser-compatibility.html 这里面就列出了一些可以借鉴的要点,包括参考vue-cli的源代码,也可以借鉴(copy)那些babel插件可以用,如何配置config文件等等。

关于production环境发布部署,可以参考这篇文章https://philipwalton.com/articles/deploying-es2015-code-in-production-today/ 主要是利用浏览器对于“module”关键字识别与否,条件加载转译到ES5的或者直接就是ES6的代码。现在还没有用在当前项目,不过以后如果遇到性能问题的话,就要考虑这个点了。

最后要注意的是如果考虑浏览器兼容性,一些新的特性可能就无法使用,比如Proxy这样的根本就没有比较好的polyfill方案,用了也许就支持不了IE11。当然,我的建议是用户也要与时俱进,把这些老旧浏览器赶紧的丢进垃圾桶吧。