FIS2配置总结

内置的默认配置

  • 由于fis系统是完全插件化的,因此fis.config对象会有一些内置配置用以为用户提供零配置下的基本功能,所以配置文件使用fis.config.merge或者fis.config.set接口来追加用户配置。而初始化的内部数据是
    <pre>
    fis.config.init({
    project : {
    charset : 'utf8',
    md5Length : 7
    }
    });
    </code>

项目配置project

  • charset指定项目编译后产出文件的编码。
    <pre>
    fis.config.merge({
    project : { charset : 'gbk' }
    });
    </code>
  • md5Length文件MD5戳长度.
    <pre>
    project : { md5Length : 8 }
    </code>
  • md5Connector设置md5与文件的连字符.
    <pre>
    fis.config.merge({ project : { md5Connector : '.' }});
    </code>
  • include 设置项目源码文件include过滤器。只有命中include的文件才被视为源码,其他文件则忽略。
    <pre>
    fis.config.merge({ project : { include : 'src/**' }});
    </code>
  • exclude设置项目源码文件exclude过滤器。如果同时设置了 project.include和 project.exclude
    则表示在include所命中的文件中排除掉某些文件。
    <pre>
    fis.config.merge({ project : { exclude : /^/_build//i }});
    </code>
  • fileType.text追加文本文件后缀列表
  • fileType.image追加图片类二进制文件后缀列表。
  • watch.exclude设置项目源码监听时不监听的文件列表。
  • watch.usePolling设置项目源码监听的方式, usePolling
    为 true
    时会使用轮询的方式检查文件是否被修改,比较消耗CPU,但是适用场景更广。设置为 false
    后会使用系统API进行文件修改检查,对性能消耗较小,但是可能由于系统版本不同,会存在兼容性问题。

插件配置modules

  • parser配置编译器插件,可以根据 文件后缀 将某种语言编译成标准的js、css、html语言。由于parser的主要职责是统一标准语言,因此它经常会和 roadmap.ext 配置配合使用,用于标记某个后缀的文件在parser阶段之后当做某种标准语言进行处理。
Paste_Image.png
  • preprocessor配置 标准化预处理器插件,可以根据 文件后缀 对文件进行预处理。
    比如 fis-preprocessor-image-set插件,用于实现对retina屏的css的image-set属性支持。
  • postprocessor在fis对js、css和类html文件进行语言能力扩展之后调用的插件配置,可以根据 文件后缀 对文件进行后处理。这个阶段我们可以对文件进行一些相关处理,比如amd包装等。fis内置的 fis-postprocessor- jswrapper 插件就是在这个阶段对js进行包装的。
  • optimizer单文件编译过程中的最后阶段,对文件进行优化。
    通常是压缩、xss修复等工作,fis内置了3个压缩插件: fis-optimizer-uglify-jsfis-optimizer-clean-cssfis-optimizer-png-compressor
Paste_Image.png
  • prepackager在fis打包操作前调用的插件, **不管调用fis release命令时是否使用 --pack 参数,该插件均会被调用。
  • packager打包处理插件
    默认值:'map', fis内置了打包插件 fis-packager-map
    ,生成 map.json 文件
    调用fis release命令时,添加 --pack 参数,该插件才会被调用。
Paste_Image.png
  • postpackager打包后处理插件。
    在fis打包操作后调用的插件, 不管调用fis release命令时是否使用 --pack 参数,该插件均会被调用
    <pre>
    fis.config.set('modules.postpackager', 'simple');
    </code>

插件运行配置settings

插件要工作,偶尔也需要配置数据

内置插件运行配置
  • postprocessor.jswrapper
    type:包装方式。可选值目前只有 'amd'
    template:使用模板来定义包装结构
    wrapAll: 是否包装所有js文件。默认是false,只对标记为 isMod 的文件进行包装
  • optimizer.png-compressorpng图片压缩器运行配置。
    pngquant会将所有 png24的图片压缩为 png8,压缩率极高,但alpha通道信息会有损失。
  • optimizer.uglify-js
    uglify-js压缩器配置。

![Upload Paste_Image.png failed. Please try again.]

  • spriter.csssprites
    csssprite处理运行配置,以css文件为单位,对其引用的png、gif、jpg、jpeg等图片进行csssprite合并处理

![Upload Paste_Image.png failed. Please try again.]


目录规范与域名配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,308评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,020评论 6 342
  • 前端集成解决方案要求: 模块化开发。最好能像写nodejs一样写js,很舒服。css最好也能来个模块化管理! 性能...
    Www刘阅读 8,196评论 1 20
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,541评论 7 35
  • 人生一世草木 一秋 芸芸众生 你我只不过是 沧海一粟 红尘滚滚 经历了多少悲欢离合 我们曾经为爱 哭过笑过 虽伤着...
    墨雅仙儿阅读 2,166评论 3 0