前端构建工具-fis3使用入门
FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题。
官网地址是: https://fex-team.github.io/fis3/index.html
我们要做前后端分离,将静态资源部署到CDN。调研了几个前端构建工具之后,选择了 fis3, 原因是能满足我们的需求、并且轻量级、配置简单、使用方便、安装也不容易报错。
下载安装
- 安装NodeJS
下载地址: http://nodejs.cn/download/
推荐下载最新版本的NodeJS,如 v8.1.3+ 等。
安装到默认目录,完成后查看版本号:node -v
- npm安装fis3
在 cmd 中执行:npm install -g fis3
安装fis3后,在 cmd 中执行fis3 -v
判断是否安装成功
相关的 shell 命令如下:
node -v
npm install -g fis3
fis3 -v
简单使用
说明: fis3等前端构建工具,依赖的是相对路径, 如
./xxx/xxx.js
等; 识别:<img src="">
、<link href="">
、<script src="">
url('')
等资源配置。如果你的项目不符合此要求, 需要进行一定的修改。
首先,在前端代码的根目录中,创建文件 fis-conf.js
。 fis3 会查找此文件作为配置。
修改fis-conf.js
文件的内容:
// 配置不同环境的CDN资源前缀
fis.media('prod').match('*.{js,css,png}', {
domain: 'http://cdn.cncounter.com/cncounter-web'
});
fis.media('beta').match('*.{js,css,png}', {
domain: 'http://beta.cdn.cncounter.com/cncounter-web'
});
fis.media('dev').match('*.{js,css,png}', {
domain: 'http://dev.cdn.cncounter.com/cncounter-web'
});
// 所有js, css 加 hash
fis.match('*.{js,css,png}', {
useHash: true
});
// 生产环境进行JS压缩
fis.media('prod').match('*.js', {
optimizer: fis.plugin('uglify-js')
});
// dev 环境不加hash, 不进行压缩和优化
fis.media('dev').match('*.{js,css,png}', {
useHash: false,
optimizer: null
});
简单解释一下, fis.media('prod')
意思是生产环境的配置。
使用fis3时,可以指定打包版本, 例如:
fis3 release prod -d cdn_release
如果不指定, 则默认为 dev
环境(fis3中称为media)
指定输出目录是 -d
选项,可以指定绝对路径,相对路径;
另外, fis.match
是很简单的配置,后面会覆盖前面。
其中, useHash
指定是否根据内容生成 hash, 例如 common-utils.js
在生成目录下会变成: common-utils_331734d.js
;
optimizer
指定优化配置,例如文件压缩、合并,内联等;
其他插件可能需要安装额外的 npm 组件/插件;
示例
Windows 使用示例(cmd 环境):
E:
cd E:\cncounter-web\src\main\webapp
dir fis-conf.js
fis3 release prod -d cdn_release
Linux 或者 Mac 大同小异, 请根据需要自己配置,或者参考官网。
然后,进入 cdn_release 目录, 看看对应的 html,css,js 等文件的变化吧。
如果项目未拆分, 与 MAVEN 一起组合使用时, 先执行 fis3 的构建(可以指定 html 等文件的输出目录), 然后通过 copy-resources 等插件进行组装。
如果需要更复杂的功能,请参考官方的配置文档: https://fex-team.github.io/fis3/docs/beginning/release.html
原文作者: 铁锚 http://blog.csdn.net/renfufei
原文日期: 2017年7月10日
前端构建工具-fis3使用入门的更多相关文章
- (转)前端构建工具gulp入门教程
前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...
- 前端构建工具 Grunt 入门
之前也介绍过前端构建工具 Ant 和 Yeoman,其中 Yeoman 工具就包含了 Grunt 所以就不多说.那么与 Ant 相比 Grunt 有这么几个优点: Javascript 语法,相比 A ...
- gulp 前端构建工具入门
gulp 前端构建工具入门 标签(空格分隔): gulp 1. 安装gulp npm i -g gulp 2. 创建gulp项目 2.1 Hello world 使用npm init初始化项目文件夹. ...
- 前端构建工具之gulp的安装和配置
在选择构建工具时,看到更多人推荐gulp,从此入了gulp的坑- 一.安装node环境 百度谷歌一下就有了,在终端中分别输入 node -v 和 npm -v,若显示node和npm的版本号则说明no ...
- webpack前端构建工具学习总结(二)之loader的使用
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为 ...
- 前端构建工具之gulp(一)「图片压缩」
前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...
- 前端构建工具之gulp_常用插件
gulp常用插件的使用 今天来看看一下gulp的常用插件的使用 就像gruntjs需要一个Gruntfile.js文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfil ...
- 前端构建工具gulpjs的使用介绍及技巧
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...
- 前端构建工具gulp使用
前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...
随机推荐
- 《JAVA程序设计》第五次实验报告
20145333 实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21:3 ...
- MiniTools在ubuntu下快捷方式
解压MiniTools-Linux-20140317.tgz root@ubuntu:~/tiny4412/MiniTools-20140317# ls -l total 38008 -rw-r--r ...
- Java 设计模式六原则及23中常用设计模式
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- 程序员清理xcode垃圾命令
xcrun simctl list devices xcrun simctl delete unavailable
- 第四篇:Spark SQL Catalyst源码分析之TreeNode Library
/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现 ...
- Windows下实现mysql定时备份
1.写MySQL备份bat处理 @echo off set "yMd=%date:~,4%%date:~5,2%%date:~8,2%" set "hms=%time:~ ...
- window 中安装 redis的遇到的一此bug
一.下载 链接:https://github.com/MicrosoftArchive/redis/releases 说明: 如果是是下载msi版本的话会默认帮我们配置好测试 环境,如果是下载zi ...
- Linux计划任务,自动删除n天前的旧文件
Linux计划任务,自动删除n天前的旧文件 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,但需求总是多方面的嘛-我就觉得让系统定时 ...
- 退出Vi(m)
按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制保存文件, ...
- shell统计各省的百强县
原始数据在最后 baiqiang.txt文件中 shell命令: cat baiqiang.txt | grep -P "^国|^☆" | awk -F" " ...