FIS3学习(二)实战

解读

fis.match(selector,props)

  • selector :FIS3 把匹配文件路径的路径作为selector,匹配到的文件会分配给它设置的 props。关于 selector 语法,请参看 Glob 说明

  • props :编译规则属性,包括文件属性和插件属性,更多属性

deploy

  • 解释:设置项目发布方式

  • 值类型:Array | fis.plugin | function

  • 默认值:fis.plugin(‘local-deliver‘)

  • 说明:编译打包后,新增发布阶段,这个阶段主要决定了资源的发布方式,而这些方式都是以插件的方式提供的。比如你想一键部署到远端或者是把文件打包到 Tar/Zip 又或者是直接进行 Git 提交,都可以通过设置此属性,调用相应的插件就能搞定了。

  • 用法:

    假设项目开发完后,想部署到其他机器上,我们选择 http 提交数据的方式部署

fis.match(**, {
      deploy: fis.plugin(http-push, {
          receiver: http://target-host/receiver.php, // 接收端
          to: /home/work/www // 将部署到服务器的这个目录下
      })
  })

fis.media()

fis.media() 接口提供多种状态功能,比如有些配置是仅供开发环境下使用,有些则是仅供生产环境使用的。

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

fis.media(prod).match(*.js, {
  optimizer: fis.plugin(uglify-js)
});
fis3 release <media>
  • <media> 配置的 media 值

命令行执行:fis3 release prod

编译时使用 prod 指定的编译配置,即对 js 进行压缩。

如上,fis.media() 可以使配置文件变为多份(多个状态,一个状态一份配置)。

fis.media(rd).match(*, {
  deploy: fis.plugin(http-push, {
    receiver: http://remote-rd-host/receiver.php
  })
});

fis.media(qa).match(*, {
  deploy: fis.plugin(http-push, {
    receiver: http://remote-qa-host/receiver.php
  })
});
  • fis3 release rd push 到 RD 的远端机器上
  • fis3 release qa push 到 QA 的远端机器上

media dev 已经被占用,默认情况下不加 <media> 参数时默认为 dev

 

FIS3学习(二)实战

上一篇:定位鼠标和键盘操作


下一篇:基础回顾