美文网首页
前端自动化构建工具 - FIS3 - 第三节:定位资源

前端自动化构建工具 - FIS3 - 第三节:定位资源

作者: 会煮咖啡的猫咪 | 来源:发表于2016-11-23 10:29 被阅读390次

前言

这是一个非常酷的功能,再也不用担心发布后资源目录需要调整。

在html中定位资源

src href 属性就行处理

编译前

[站外图片上传中……(2)]
<link rel="stylesheet" type="text/css" href="demo.css">
<script type="text/javascript" src="demo.js"></script>

在js中定位资源

使用编译函数 __uri(path) 来定位资源

编译前

<script>
var img = __uri('logo.png');
var css = __uri('demo.css');
var js = __uri('demo.js');
</script>

在css中定位资源

url(path) 以及 src=path 字段

<style>
@import url('demo.css');
.style {
    background: url('logo.png');
}
.style {
    _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='logo.png');
}
</style>

fis.match 匹配查询设置

比如匹配所有的文件进行hash文件名处理

fis.match('*', {
    useHash: true
});

API格式 fis.match(selector, props);
selector 查询条件
props 配置详细

参考文
Glob 说明 , http://fis.baidu.com/fis3/docs/api/config-glob.html
更多属性 , http://fis.baidu.com/fis3/docs/api/config-props.html#%25E5%259F%25BA%25E6%259C%25AC%25E5%25B1%259E%25E6%2580%25A7

glob 规则

操作符

* 匹配0或多个除了 / 以外的字符
? 匹配单个除了 / 以外的字符
** 匹配多个字符包括 /
{} 可以让多个规则用 , 逗号分隔,起到或者的作用
! 出现在规则的开头,表示取反。即匹配不命中后面规则的文件

起始位置

fis-conf.js 所在目录

条件分组 $0 $1 $2

查询条件

fis.match('/a/({b,c}/**.js)', {
  release: '/static/$1$2'
});

$0 指整个条件 /a/
$1 指第一个子查询 (b/.js)
$2 指第二个子查询 (c/
.js)

启用hash方式

fis.match('*.{js,css,png,gif}', {
    useHash: true // 开启 md5 戳
});

useHash 属性 , 文件是否携带 md5 戳

设置发布文件目录

fis.match('**.js', {
    release : '/static/js/$0'
});
fis.match('**.css', {
    release : '/static/css/$0'
});
fis.match('**.png', {
    release : '/static/png/$0'
});

release 属性, 设置文件的产出路径

调整url

fis.match('**.js', {
    url : '/mm/static/js$0'
});

url 属性 , 指定文件的资源定位路径
默认是 release 的值,url可以与发布路径 release 不一致。

设置domain

fis.match('**.png', {
    domain: 'http://cdn.baidu.com/'
});

domain 属性 , 给文件 URL 设置 domain 信息
如果需要给某些资源添加 cdn,分配到此属性的资源 url 会被添加 domain;

运行并查看结果

源 uri.html

在html中定位资源
[站外图片上传中……(3)]
<link rel="stylesheet" type="text/css" href="/static/css/demo_3a5495f.css">
<script type="text/javascript" src="/static/js/demo_9b4f5bd.js"></script>

在js中定位资源
<script>
var img = 'http://cdn.baidu.com/png_8652a39.png';
var css = '/static/css/demo_3a5495f.css';
var js = '/static/js/demo_9b4f5bd.js';
</script>

在css中定位资源
<style>
@import url('/static/css/demo_3a5495f.css');
.style {
    background: url('http://cdn.baidu.com/png_8652a39.png');
}
.style {
    _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cdn.baidu.com/png_8652a39.png');
}
</style>

配置 fis-conf.js

fis.match('*.{js,css,png,gif}', {
    useHash: true // 开启 md5 戳
});

fis.match('**.js', {
    release : '/static/js/$0'
});
fis.match('**.css', {
    release : '/static/css/$0'
});
fis.match('**.(png)', {
    release : '/static/png/$1',
    url : '$1',
    domain: 'http://cdn.baidu.com/'
});

运行 fis3 release

在html中定位资源
[站外图片上传中……(4)]
<link rel="stylesheet" type="text/css" href="/static/css/demo_3a5495f.css">
<script type="text/javascript" src="/static/js/demo_9b4f5bd.js"></script>

在js中定位资源
<script>
var img = 'http://cdn.baidu.com/png_8652a39.png';
var css = '/static/css/demo_3a5495f.css';
var js = '/static/js/demo_9b4f5bd.js';
</script>

在css中定位资源
<style>
@import url('/static/css/demo_3a5495f.css');
.style {
    background: url('http://cdn.baidu.com/png_8652a39.png');
}
.style {
    _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cdn.baidu.com/png_8652a39.png');
}
</style>

fis/www/ 目录

fis3-uri

资源文件路径不要跨过fis-conf.js的根目录

代码

https://github.com/hans007/JavaScriptCodes/tree/master/fis3/uri

我的博客

相关文章

  • FIS3和VueJS开发单页面应用

    FIS3是百度开发的一款前端构建工具。 FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步...

  • 从配置文件带你认识FIS3

    不认识FIS3? 那赶紧去看看吧:FIS3 , 为你定制的前端工程构建工具, 解决前端开发中自动化工具、性能优化、...

  • 百度亲民前端构建工具fis3

    什么是fis3? FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、...

  • 利用fis3构建前端项目工程

    利用fis3构建前端项目工程 [TOC] FIS3是国内百度公司产出的一款前端工程构建工具,FIS3可以解决前端工...

  • FIS的简单用法,好费劲。

    FIS介绍 FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管...

  • fis3入门(百度出品)

    FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内...

  • 前端自动化构建工具 - FIS3 - 第三节:定位资源

    前言 这是一个非常酷的功能,再也不用担心发布后资源目录需要调整。 在html中定位资源 对 src href 属性...

  • windows7下fis3的安装

    最近在学习前端自动化构建工具fis3,安装fis3需要先安装node.js,现在梳理一下在安装过程中遇到的一些问题...

  • gulp

    叫做前端自动化构建工具,此类工具还有:grunt前端自动化构建工具 是什么?答: 自动化 less sass ...

  • 前端知识汇总

    自动化构建工具 Grunt Gulp fis3 包管理工具 npm bower yarn 模块打包工具 Brows...

网友评论

      本文标题:前端自动化构建工具 - FIS3 - 第三节:定位资源

      本文链接:https://www.haomeiwen.com/subject/kbampttx.html