#### 項目構建
1. 理解npm、yarn依賴包管理的原理,兩者的區別
2. 可以使用npm運行自定義腳本
3. 理解Babel、ESLint、webpack等工具在項目中承擔的作用
4. ESLint規則檢測原理,常用的ESLint配置
5. Babel的核心原理,可以自己編寫一個Babel插件
6. 可以配置一種前端代碼兼容方案,如Polyfill
7. webpack的編譯原理、構建流程、熱更新原理,chunk、bundle和module的區別和應用
8. 可熟練配置已有的loaders和plugins解決問題,可以自己編寫loaders和plugins
#### nginx
1. 正向代理與反向代理的特點和實例
2. 可手動搭建一個簡單的nginx服務器
3. 熟練應用常見的nginx內置變量,掌握常用的匹配規則寫法
4. 可以用nginx實現請求過濾、配置gzip、負載均衡等,并能解釋其內部原理
#### 開發提速
1. 熟練掌握一種接口管理、接口mock工具的使用,如yapi
2. 掌握一種高效的日志埋點方案,可快速使用日志查詢工具定位線上問題
3. 理解TDD與BDD模式,至少會使用一種前端單元測試框架
#### 版本控制
1. 理解Git的核心原理 、工作流程、和SVN的區別
2. 熟練使用常規的Git命令、git rebase、git stash等進階命令
3. 可以快速解決線上分支回滾、線上分支錯誤合并等復雜問題
#### 持續集成
1. 理解CI/CD技術的意義,至少熟練掌握一種CI/CD工具的使用,如Jenkins
2. 可以獨自完成架構設計、技術選型、環境搭建、全流程開發、部署上線等一套完整的開發流程( 包括web應用、移動客戶端應用、PC客戶端應用、小程序、H5等等 )
#### 安全
1. XSS
2. CSRF
3. DDOS
4. HTTP劫持