FIS深入浅出

FIS简介

FIS 是面向前端的工程构建工具,解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题

FIS是基于NodeJS技术的基础上提供的前端工程构建工具,FIS是基于文件对象进行构建的,每个进入FIS的文件都会实例化一个File对象,整个构建过都对这个对象进行操作完成构建任务。

FIS 与 FIS-PLUS的渊源

FIS vs FIS+

FIS和FIS+的概念混淆在产生之初就产生了,刚来的新同学在第一次使用FIS机会问“FIS和FIS+”有什么区别,鉴于此,我查了些资料,简单描述下历史和区别。

  • FIS产生之初定位就是做一个内核,提供一套编译体系、静态资源管理和本地模拟调试,其编译体系可以通过配置文件和插件的方式任意扩展
  • FIS+通过扩展实现了一套适合于后端的PHP+Smarty3的编译体系,在后端实现了静态资源管理,提出了诸如quickling、i18n、fis-plus之类的解决方案。

目录规范
整个编译体系分为目录规范以文件类型为基础的插件体系

  • FIS是没有目录规范的,源码随便放
  • FIS+有一套成型的目录规范,规定了js如何放、css如何放、模块如何划分,如何引入js等等。

插件
为了满足后端php+smarty3以及静态资源管理,FIS提供了一些插件,比如extlang、require-async用来分析script标签包裹的js,smarty-xss用来自动XSS转义等等。
FIS+脱胎FIS。

框架

  • 静态资源映射表:记录文件依赖、打包、URL等信息的表结构,在FIS2中统称map.json。在FIS3中默认不产出map.json,FIS3中为了方便各种语言读取map.json,对产出的map.json做了优化

本地调试

  • FIS提供了一套本地调试服务器
  • FIS+ 额外提供了本地数据模拟、路由转发。

综述
FIS+ 之于FIS,是一个针对业务场景在编译工具、架构层面进行扩建,适用于后端php/smarty的架构体系。

Smarty模板

Smarty模板也是php写的,优点是插件较多,但是真正和后端分离是不需要有后端支持就能用插件的方式解决静态资源管理。

你可能感兴趣的:(FIS深入浅出)