FIS3学习(二)实战

时间:2021-07-13
本文章向大家介绍FIS3学习(二)实战,主要包括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

原文地址:https://www.cnblogs.com/kunmomo/p/15007869.html