1 FIS 3接口速查

Wu Jun 2019-01-05 17:02:57
14 前端 > 4 FIS

FIS 构建工具 前端工具框架
官方文档:http://fis.baidu.com/fis3/docs/beginning/intro.html

默认配置文件为 fis-conf.js,有此文件的目录被看做是项目根目

配置接口

fis.match('::package', { });//packager阶段所有的文件
fis.match('::image', { });// 所有被标注为图片的文件
fis.match('::text', { });//所有被标注为文本的文件
fis.match('::js', { });//匹配模板中的内联 js
fis.match('::css', { });//匹配模板中内联 css
fis.media('dev').match()
//编译发布的时候使用 media
fis3 release <media>

配置属性

全局属性

全局属性通过 fis.set 设置,通过 fis.get 获取

文件属性

fis3 以文件属性控制文件的编译合并以及各种操作;文件属性包括基本属性和插件属性,插件属性是为了方便在不同的插件扩展点设置插件; ######基本属性

插件属性

插件属性决定了匹配的文件进行哪些插件的处理 查详表吧

命令行

FIS3 默认内置了命令 release、install、init、server、inspect等命令,都是 FIS fis-command-* 插件提供,调用方法:

fis3 <command>

制定目录规范

源码目录规范
结果目录规范
// 所有的文件产出到 static/ 目录下
fis.match('*', {
    release: '/static/$0'
});

// 所有模板放到 tempalte 目录下
fis.match('*.html', {
    release: '/template/$0'
});

// widget源码目录下的资源被标注为组件
fis.match('/widget/**/*', {
    isMod: true
});

// widget下的 js 调用 jswrapper 进行自动化组件化封装
fis.match('/widget/**/*.js', {
    postprocessor: fis.plugin('jswrapper', {
        type: 'commonjs'
    })
});

// test 目录下的原封不动产出到 test 目录下
fis.match('/test/**/*', {
    release: '$0'
});

glob

简要说明

node-glob 中的使用方式有很多,如果要了解全部,请前往 http://fis.baidu.com/fis3/docs/api/config-glob.html

这里把常用的一些用法做说明。

需要注意的是,fis 中的文件路径都是以 / 开头的,所以编写规则时,请尽量严格的以 / 开头。

当设置规则时,没有严格的以 / 开头,比如 a.js, 它匹配的是所有目录下面的 a.js, 包括:/a.js、/a/a.js、/a/b/a.js。 如果要严格只命中根目录下面的 /a.js, 请使用 fis.match(’/a.js’)。

另外 /foo/.js, 只会命中 /foo 目录下面的所有 js 文件,不包含子目录。 而 /foo/**/.js 是命中所有子目录以及其子目录下面的所有 js 文件,不包含当前目录下面的 js 文件。 如果需要命中 foo 目录下面以及所有其子目录下面的 js 文件,请使用 /foo/**.js。