feather2是继feather之后基于fis3.0进行扩展的工程化框架。
feather2的架构做出了很大的调整,提高用户的易用性,并于feather1.x不同,feather2起初仅仅只适用于纯静态页面的前端项目,比如webapp,或结合一些mvvm框架进行开发的项目。2.1开始,集成mustache模板语法,提供除lothar外其他动态语言开发的框架选择,mustache支持多达几十种开发语言,简单简洁的语法,集合feather所提供的模板扩展标签使用,基本可以满足简单的动态语言开发需求,更复杂的一些场景还是建议直接进行定制化
基于feather2可以非常容易的再次扩展出动态语言的工程化框架,并且开发量也较少,如: lothar(blade模板引擎)
功能 | 1.x | 2.x |
---|---|---|
fis基本功能 | 支持 | 支持 |
本地服务器、url转发、mock数据 | 支持(java) | 支持(node) |
压缩、合并、csssprite、预编译 | 支持 | 支持 |
项目脚手架 | 支持 | 支持 |
livereload | 支持 | 支持 |
模块化 | 支持 | 支持 |
模板继承 | 不支持 | 支持 |
bigrender/pipe/quickly | 部分支持 | 支持 |
包管理 | 不支持 | 支持 |
多人协同 | 支持 | 支持 |
多模块开发 | 动态支持 | 动态支持 |
静态资源位置优化、去重 | 支持 | 支持 |
静态资源按需加载、combo | 不支持 | 支持 |
远程deploy方式 | http | http/ftp |
npm install -g feather2
feather2 init demo
feather2 release -r demo
feather2 server start
-
parser阶段
- feather2-parser-vue vue单文件组件的编译插件
-
hook
- feather2-hook-nodemodules 完美支持npm包管理的hook插件
- feather2-hook-vuehot vue模块热更新,无需刷新页面,自动更改页面修改
- feather2-hook-anysuffix 模块查找支持任意后缀
-
preprocessor阶段
- feather2-postprocessor-inline-compress 压缩行内样式及js
-
postpackager阶段
- feather2-postpackager-script2bottom 调整script标签的位置
- feather2-postpackager-offline 离线资源插件,用于本地hybrid应用