百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

使用来自百度的FIS 打包项目初探笔记

off999 2025-10-23 09:35 32 浏览 0 评论

最近随着grunt的火热,前端项目打包也成为了一个前端工程师必备的技能。这两天发现除了国外的grunt国内百度的FIS也是一个相当不错的工具,最最最起码他的说明文档教程API等等都是中文滴,对于英文不好的朋友来说,学习起来那是相当的方便。好了言归正传,首先还是先比较一下fis和grunt的区别吧,以便有个初步了解。下面是截取了百度研发部自己的一份说明对比说明:

Grunt 是一个基于 task 的构建工具,依赖众多的插件进行配置组织,可以解决基本的前端自动化问题。FIS 是基于工具、开发框架、本地开发环境为一体的前端解决方案,不但拥有各类工具插件,同时还针对 PC、Mobile、I18n 等业务、场景总结了很多最佳实践。

是否已经有了一个初步了解呢,如果想深入了解就进入他们的官网http://fis.baidu.com/学一下,初探一天后在此做一个笔记以便之后自己查阅,也方便大家进行一个快速使用的了解。

首先建立一个叫做dodotest的项目,现在明确一下打包发布的需求是:

  1. 压缩所有的js css文件

  2. 给js,css ,image这些资源加上md5戳的版本控制,并修改对应的html的代码

  3. 合并部分js,css文件,合并部分icon图片为sprite形式以减少http请求

ok!开干!

1 安装

  1. 安装fis,与grunt一样基于npm的方式:npm install -g fis

  2. 安装插件postpackager-simple,npm install -g fis-postpackager-simple,这个插件是用来合并文件合并sprite图片使用的

2 启动fis

执行命令fis server start -p 8080则开启了fis内置服务,对应的关闭命令是fis server stop

3 配置

添加fis-conf.js文件到项目根目录并填写配置文件(说明在注释)

  1. // 设置图片合并的最小间隔

  2. fis.config.set('settings.spriter.csssprites', {margin: 10});

  3. fis.config.merge({

  4. roadmap: {

  5. //指定一个domain地址,这里我使用了本机的nginx服务器地址(正常情况下发布肯定是不填或者填写线上静态资源域名),这个domain可以不配,不配的话fis默认是把你项目的所有相对路径搞成绝对路径,比如./js/jquery.js变成/js/jquery.js;配了的话就会变成
    http://127.0.0.1:8080/js/jquery.js的样子

  6. domain: "http://127.0.0.1:8888/"

  7. },

  8. deploy: {

  9. //发布时候使用fis release --dest remote来使用这个配置

  10. remote: {

  11. //这里是发布到的路径地址,我使用的是本机nginx服务器的根路径作为地址的,当然这里你也可以填个"./publish/"之类的直接就把打包好的项目生成到项目的跟路径下。

  12. //如果不配置这个remote,那么发布后默认会到fis内置服务的跟路径www/下面(可以通过fis server open打开这个路径),访问时候直接127.0.0.1:8080就可以了

  13. to: 'E:/html/'

  14. }

  15. }

  16. });

  17. // 开启simple插件

  18. fis.config.set('modules.postpackager', 'simple');

  19. //设置文件合并

  20. fis.config.set('pack', {

  21. '/pkg/js/lib.js': [

  22. 'js/lib/jquery.js',

  23. 'js/lib/jquery.a.js',

  24. 'js/lib/jquery.b.js'

  25. ],

  26. // 取消下面的注释设置CSS打包规则,CSS打包的同时会进行图片合并

  27. //图片合并这里要说明一下,不是所有图片都合并的只有指定了"?__sprite"才行,如css:background: url(/img/1px_bg.png?__sprite)的形式,如果有特殊的个性化合并需求就查看api吧

  28. '/pkg/css/common.css': '**.css'

  29. });

  30. // 开启simple对零散资源的自动合并

  31. //如果开启,每一个页面用到的js都会被合并成为一个js,不同页面调用了不同的js也会被分别合并:比如a页面引入了a.js,b.js,b页面引入了b.js,c.js,那么ab将被合并为一个js被a页面引用,bc将合并为另一个js被b页面引用,并都被存放在pkg/下

  32. fis.config.set('settings.postpackager.simple.autoCombine', true);

4 发布

fis release --dest remote -o --md5 --pack

说明: --dest remote 是调用remote配置发布,-o是要压缩资源,--md5是要给文件名加戳并同时修改html的引用文件名,--pack是使用文件合并了

结语

怎么样感觉是不是很方便,用grunt的时候光搞md5加戳就搞了好久又是grunt-rev又是grunt-usemin的,还得写一大堆配置,这个fis真的是”体贴“多了。以上只是fis的冰山一角,想要使用他更强大的配置功能就挤时间学一下吧

点击阅读原文获得更多精彩内容

相关推荐

google加速器(google加速器官网)

需要加速器的。手机谷歌浏览器需要加速器。要运行谷歌浏览器还需要在手机上下载安装一个加速器。谷歌浏览器是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升...

windows7下如何分区(win7怎么系统分区)

按照以下步骤进行操作:1.确定您的电脑已经安装Windows7操作系统,并且至少有一个硬盘分区。2.打开“计算机管理”工具。在Windows7中,您可以通过打开“开始菜单”,在搜索框中输入“计...

android windows7下载(安卓安装win7)

1、在电脑桌面上找到电脑的控制面板,点击进入控制面板;2、点击控制面板右上角的“查看方式”下拉菜单中选择“类别”选项;3、接着点击“时钟,语言和区域”选项;4、单击语言下方的“添加语言”;5、左键单击...

华为路由器设置步骤图解(华为路由器用什么设置)

华为路由器设置无线网络方法:【开启路由器的无线功能】1、进入路由器:打开浏览器,在地址栏输入192.168.1.1(一般路由器地址是这个或者查看路由器背面的登录信息)进路由-输入用户名,密码,(默认...

怎么恢复已删除文件(怎样恢复已删文件)

1、首先打开电脑管家工具箱。找到“文件恢复”工具。2、点击【恢复被删除的文件】并开始恢复3、选择要恢复的文件和目录所在的位置4、耐心等待扫描结果,整个过程受磁盘大小影响5、选择想要恢复的...

电脑桌面设置密码(电脑桌面设置密码不让别人乱开)
电脑桌面设置密码(电脑桌面设置密码不让别人乱开)

第一步点击电脑左下角的开始,选择设置。第二步选择账户。第三步在左侧选择登录选项,点击密码下面的添加,即可创建密码了。在钉钉电脑版中,是不能直接设置桌面密码的。不过,你可以通过设置电脑锁屏来保护个人隐私。具体步骤如下:1.打开电脑的“设...

2025-12-23 19:51 off999

破解游戏平台(破解游戏平台大全)

破解的steamvr游戏,你可以去虎虎VR下载,他们都是免费的。貌似是国外搬运的。是非常有可能会会遭到封禁的,平台不鼓励这种东西,只要一举报马上就会疯。

显卡驱动更新不了怎么办(显卡驱动一直更新失败)

第一种:解除BIOS限制有些显卡型号会在BIOS上面限制显卡驱动的更新,需要取消其限制才可以更新显卡驱动。第一步:重启电脑,在重启的过程中按住DEL键,进入BIOS界面。第二步:在BIOS界面中,找到...

win10系统怎么更新到最新版本

1、点击打开开始菜单,从左边找到【设置】2、打开设置,点击下面的【更新和恢复】,执行系统更新检查。3、打开Windows更新,点下面的【高级选项】4、进入高级选项找到【选择预览版的安装方式】,更改更新...

怎么给u盘单个文件加密(如何对u盘里面的单个文件进行加密)

可以使用加密软件对U盘文件进行受控加密,可以加密单个文件,也可以批量加密文件。通过用户身份认证和计算机认证(可选)的双重认证方式,确保只有特定的人员才能使用该U盘。设定密码、密保的最多尝试次数,超过则...

怎么换手机密码(怎么换手机密码6位数)

1、打开手机主屏幕然后进入【设置】功能;2、然后再选中设置里面进入【密码】;3、之后需要输入一次旧密码进入密码锁定页面;4、然后在密码页面选择【更改密码】功能;5、然后在更改密码页面输入旧密码;6、旧...

windows10设备管理器在哪(window10设备管理器在哪个位置)

1.没有其他设置2.因为Windows10的设备管理器是一个用于管理计算机硬件设备的工具,它主要用于查看和更新设备驱动程序,以及解决设备冲突等问题。它的功能和选项是经过精心设计和筛选的,以提供最...

1t固态硬盘最佳分区(1t固态硬盘分区比例推荐)

对于windows系统来说,建议分配100G~200G空间给C盘,用来安装操作系统,因为windows会在使用过程中不断产生垃圾文件。分配300~400G空间给D盘,用来安装应用软件...

中国疫情突然没了(中国疫情怎么又严重了吗)

没有消退。因为最近的数据显示,日本的新冠病毒感染病例依然存在,虽然相对于其他国家来说确实比较平稳,但是日本政府仍在持续地采取防疫措施来控制疫情的传播。如果说疫情已经消退,那么日本政府应该会解除许多防疫...

win11笔记本怎么看显卡配置(win10怎么看笔记本显卡)

右键Windows11的开始菜单进入【设备管理器】,再从【显示适配器】中找到对应的显卡,再右键进入【属性】,即可在【驱动程序】标签下看的对应的显卡型号。  1.鼠标右键点击Windows10的开始菜单...

取消回复欢迎 发表评论: