前端的概念
前端开发的产出是直接面向用户的
软技能:用户体验(性能)
编程技能:
css:
综合实践能力、常见兼容hack
html:
遵循w3c规范的语义化结构
js:
硬技能:
数据结构、算法、抽象能力、架构能力、工程化思维
大前端(纵向、nodejs)、泛前端(横向\react native)
前端工程化的意义
一系列规范和流程及集合
一种可演化、可扩展的服务,服务的目标是解决前端开发及后端协作开发过程中的难点和痛点问题
工具是前端工程化的实现媒介、规范是工程化的指导方针,工作流程是工程化的外在表现形式以及约束规范的载体
编程规范、持续的架构设计 -> 质量、效率
内容
脚手架
初始化项目(即用即弃)yeoman
发开
本地服务器(nodejs + express + middleware)
HMR (runtime runtime server)
livereload
mock
SSR
webpack-dev-middleware
构建 webpack rollup gulp
打包
babel
loader
postCSS
less
sass
资源定位
CDN、反向注入html
模块依赖关系
缓存策略
强制缓存策略
协商缓存策略
fis
sprite 项目强绑定
测试
单元测试、集成测试、仿真环境
工作流
持续集成、持续交付
gitflow与版本管理
webhook与自动构建
部署
速度、协作、安全
自动化容器化部署、灰度发布、增量更新(保留多个版本,有利于回滚)