tags: [组件]
categories: 前端工程化


脚手架功能需求

  • 代码检测
  • 文档工具
  • 规范的项目组织结构
  • ES 规范与浏览器兼容性不一致
  • CSS 弱编程能力
  • 资源定位
  • 图片压缩|base64 内嵌| CSS Sprites
  • 模块依赖分析和压缩打包
  • 自动化工具,提高效率
  • 数据 mock 服务层封装
  • 路由配置
  • react-devtool 配置
  • 数据状态管理配置选型(redux|mobix)
  • 性能提升?(immutable)

推荐工具

lerna

管理前端 multiple packages 项目的工具

文档工具

推荐 npm 包

  • new-component:自动初始化React组件所需的初始化代码

环境准备

Node | npm | git

Yeoman

安装

  1. npm install -g yo # 安装 Yeoman
  2. yo --version
  3. npm install -g generator-fountain-webapp # 安装 Yeoman 生成器,目前可用的生成器超过了 3500 个
  4. yo # 选择 Install a generator 来搜索发布的生成器

使用生成器搭建我们的app

  1. mkdir mytodo && cd mytodo
  2. yo # 选中 Fountain Webapp,按回车 enter 运行生成器

FountainJS 生成器提供一些选项来匹配你的喜好:

  • 框架(React,Angular2,Angular1)

  • 模块管理工具(Webpack,SystemJS,none with bower)

  • JavaScript预处理器(babel,TypeScript,none)

  • css 预处理器(Sass,Less,none)

  • 三个模板app(a landing page,hello world,TodoMVC)

生成器生成的目录结构

  • src: web应用的父目录

  • conf:配置文件及第三方工具的父目录(Bowersync,Webpack,Gulp,karma)

    • Bowersync: 会监测你的文件的变化然后自动加载(通过配置 gulpfile.js 中的 gulp tasks 以及 gulp_tasks/browsersync.js 中的 Browsersync 实现)
  • gulp_tasksgulpfile.js:构建任务

  • .babelrc,package.json,node_modules:配置以及所需依赖包

  • .gitattributes.gitignore:git的配置

资源及工具

在线 webpack 配置:https://createapp.dev/webpack