fis php,FIS – 前端工程构建工具

一,

安装Nodejs 和 Npm;

二,

启动并编译项目;

fis

server start 启动8080端口;

fis

server stop 关闭项目

fis

server open 打开8080端口所在目录;

cd

到本地项目目录 执行 fis release

命令会将编译项目并发布至本地调试服务器。

npm

server -h 查看帮助;

fis

release -m 加MD5并发布至本地调试服务器;

fis

release -o 压缩静态资源并发布至本地调试服务器;

fis

release -omd ./pkg 压缩、加MD5并发送到pkg文件夹内;

fis

release -p 资源合并并发布至本地调试服务器;

fis

release -pd ./pkg 资源合并并发送到pkg文件夹内

三,

Fis 静态资源MD5版本

FIS能够根据静态资源的内容自动生成文件版本,自动更新资源引用路径,解决缓存更新问题,告别手动更新时间戳。

我们通过开启 --md5 参数,为项目中的静态资源添加md5版本号.

ef207de6bb05c4e5fd830bd4af1b6368.png

刷新页面,我们可以看到所有资源均加上了md5版本号

四,

Fis 静态资源压缩

资源压缩一直是前端项目优化中非常重要的一环,使用FIS我们无需任何配置,只需要一个命令就可以完成压缩工作。

980f0a43d72e61af4c757822acffc997.png

FIS构建并不会修改源代码目录中的内容,而是拥有独立的产出的目录,FIS默认的产出目构录可以通过 fis

server open 打开,你也可以通过 fis

release -d 指定你希望的输出目录:

f81c3961ef437048620a1ff4e028fe37.png

查看网站的静态资源,我们会发现脚本、样式、图片资源都已经压缩完成。无需额外的插件和配置编写,一条命令就完成了压缩工作。

五,

静态资源合并

1,设置打包

FIS可以通过pack来进行资源文件的合并,比如我们需要将DEMO中的公共库文件打包在一起,可以修改

fis-conf.js 配置,加入pack配置

0b7b4be98372d17920b7fd3183c755a3.png

设置完pack后,FIS默认只会进行文件打包,不会对页面中的静态资源引用进行替换,我们可以通过引入后端静态资源管理来加载打包模块。不过也可以利用fis-postpackager-simple插件,可以自动将页面中独立的资源引用替换为打包资源。

2,安装插件

13dba07641243f9b32f0d85ea133ce11.png

然后

配置fis-conf.js :

c292ac989f94a0671261b2fe0b24c224.png

3,应用打包

7e8b95969a596c9e00a228c11f946440.png

发布到调试目录下运行,可以看到已经引用了打包后的资源文件;

注:为了开发调试时更加方便 fis

release默认不会合并资源,在fis

release -p后,FIS才会进行打包合并处理。

4,自动打包

利用simple插件,我们还可以按页面进行自动合并,将没有通过pack设置打包的零散资源自动合并起来。

46401fe4877c6a48452e7521254b6066.png

再次运行FIS构建项目

6055d42ff91efb5bf4da71beddb14e34.png

我们会发现剩余的零散资源已经被自动合并.

六,FIS

的构建(编译)即是发布当前项目到其他文件夹

09f51d6e45cafa207e3d98bc1dd1726b.png

任意目录

fis

release -h 获取更多参数

1.构建发布到项目目录的

output 目录下

1c22a17021b0d16a22d916dc56393386.png

2.构建发布到项目父级目录的

dist 子目录下

19b2887be2b17f484262d52eae5652bb.png

3.发布到其他盘

(Windows)

2a762d165f24d24e60e97b4ca0cc54e2.png

七,8080端口被占用

8080端口被占用的话

可以指定一个新端口启用;

63c6eb8446983be7f20989ac2df0cd6d.png

八,辅助开发

语言扩展

使用FIS可以方便的将各种异构语言转换为前端语言,比如说可以将CoffeeScript编译为JavaScript、Less编译为CSS、前端模板预编译等等,并且可以做到各种异构语言无缝混用。

1,Less插件安装:

9dda9fe8cf36070f0dfe68f4bb8e1fc1.png

开启插件

570ecad030048784b6f4be4d6dc33502.png

快速使用

在fis-conf.js同目录编写一个LESS文件

b9abf60afcf6a63f4c831afbb8142060.png

使用发布到output目录中

3036d3e48478eda88436fb008784f0a5.png

可以看到在output目录中,原有的less文件已经被编译为了css文件

0f5c4818ce4990a69a5bc9428c053c3c.png

由于我们添加了

-w 参数,你还可以随意修改LESS文件,FIS将会自动监听文件修改,自动编译发布CSS文件

2,Sass插件安装:

3de26f87ce93b051acb5a4627d31d1e1.png

fis2开启插件:

5e321a92eaa7ae138f38a6b62eb6af49.png

3,自动化文件监视

通过文件监视功能,我们可以要求FIS在项目文件出现修改时,自动增量构建项目文件。并且增量构建是考虑了各种嵌入关系的,比如a.css文件内嵌了b.css文件,那么当b.css文件修改时,FIS会自动重新构建a.css和b.css两个文件。

394dbbcf094d71613d56956eaa2898c4.png

随意修改项目内容,返回页面刷新即可查看到相应的变化。

4,自动刷新

我们只需要在文件监视的参数基础上添加

–live 或 -L 参数即可实现在项目文件发生修改后,自动刷新页面的功能,大幅提高页面制作效率。

389a86574f5961dc473e4d322ef3c59c.png

随意修改项目内容,页面将会应用修改并自动刷新。

九,资源定位

Html资源定位

添加配置,调整文件发布路径:

43f53713f5b3790be2b0b74ff6924e13.png

编译得到:

4fdcfa4cab208105b2f658b826c6737a.png

我们甚至可以让

url和发布目录不一致。比如:

19c13c2dc1061740bf9fd030ab4b1c14.png

再次编译得到:

4923cf9ef8d65ec4ec1221e43d21e46b.png

JS资源定位

js语言中,可以使用编译函数 __uri(path) 来定位资源,fis分析js文件或 html中的script标签内内容

时会替换该函数所指向文件的线上url路径。

e0039f3914f1b84fc77826441538f3d5.png

382f6c9f9f493606c7b19b7a6dcea809.png

c15b34c734eb0e898250d5b1d4edcc30.png

在Css中定位资源

fis编译工具会识别css文件或

html的style标签内容 中 url(path) 以及 src=path 字段,并将其替换成对应资源的编译后url路径

8d5275635bcf09951fd78e66aea0d19a.png

cd689789cca654fc42fbe2590f13bc27.png

资源定位结果可以被fis的配置文件控制,比如添加配置,调整文件发布路径:

4fff1b8b0199a5d184143fdbcae61e66.png

再次编译得到:

9b751f037c5a67e6f23d5af87bdcb6d2.png

4533fe027174b026c9a00ce93e9d0b06.png

10,

内容嵌入

在Html中嵌入资源

在html中可以嵌入其他文件内容或者base64编码值,可以在资源定位的基础上,给资源加 ?__inline 参数来标记资源嵌入需求。

html中嵌入图片base64 :

5127df011340b650de0266663d8718fc.png

html中嵌入样式文件 :

52fd8f9ff77d197355bdd0cf1fce1989.png

html中嵌入脚本资源 :

0b33ee02011374a236e32d65ea8a9f29.png

html中嵌入页面文件:

318f631cc19af556479cac270840b63e.png

在Js中嵌入资源

在js中,使用编译函数 __inline() 来提供内容嵌入能力。可以利用这个函数嵌入图片的base64编码、嵌入其他js或者前端模板文件的编译内容,

这些处理对html中script标签里的内容同样有效。

在js中嵌入js文件

e1b47e93ef02e77829287f8577dcb897.png

在js中嵌入图片base64

dee4d658f7f27c8693d3e7fd248b0bad.png

在js中嵌入其他文本文件

649edcd24c630c0e4f9a05d703a49fb3.png

在Css中嵌入资源

与html类似,凡是命中了资源定位能力的编译标记,

除了src="xxx"之外,都可以通过添加 `?__inline` 编译标记都可以把文件内容嵌入进来。src="xxx"

被用在ie浏览器支持的filter内,该属性不支持base64字符串,因此未做处理。

在css文件中嵌入其他css文件

3dbab5e804518d932ecb27063db33c10.png

在css中嵌入图片的base64

e216e579a10da6639dbf7d9d37c8c649.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值