最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • FIS —— 已经不再维护的前端构建系统

    正文概述 掘金(顽皮的雪狐七七)   2020-12-27   872

    目录

    • FIS
      • FIS3初体验 —— 发布文件
      • FIS编译与压缩
        • sass文件编译
        • js文件编译
        • 文件压缩
      • 调试

    之前工作一直用到FISFIS2FIS3都有用过,现在只是把学习笔记放上来,因为手中实践的东西较多,之后有时间会进行下一步的整理。

    FIS

    FIS是百度的前端团队出款的一种构建系统,FIS现在也基本没有团队维护了,但是我们还需要了解一下他。相比于gruntgulpFIS的核心特点是高度集成

    他把前端日常开发中常见的开发任务和构建任务都集成在了内部,这样开发者可以通过简单的配置文件的方式去配置我们构建过程需要的工作。我们不需要在FIS中像gruntgulp一样定义任务,FIS中有一些内置任务,内置任务会根据开发过程自动完成构建任务。FIS中也有用于调试的web-server,可以很方便的调试构建结果。

    FIS3初体验 —— 发布文件

    1. 下载项目目录 fis-demo-temp,安装依赖npm install -g fis3
    2. 使用fis3 release可以把项目发布到一个临时目录中C:/Users/Administrator/AppData/Local/.fis3-tmp/www,这个使用fis3 server open就可以打开服务的默认地址
    3. 我们可以指定目录发布的地址fis3 release -d output,发布到根目录下面的output文件夹中。
    1. 如果要有部署的配置,需要创建fis-conf.js文件
    2. 我们要把静态资源文件放到assets目录下,需要这样配置
    // fis的match方法是匹配对应文件,第一个参数是匹配规则,这里面试文件夹下面的所有js,scss,png文件
    // 第二个参数是对应的配置
    fis.match('*.{js,scss,png}', {
      // release是发布目录
      // $0 指的是原始文件目录结构
      release: '/assets/$0'
    })
    
    1. 运行fis3 release -d output可以看到目录结构发生了变化

    FIS —— 已经不再维护的前端构建系统

    里面的引用资源也变成了绝对定位

    FIS —— 已经不再维护的前端构建系统

    FIS编译与压缩

    sass文件编译

    1. 安装插件npm i fis-parser-node-sass
    2. fis-conf.js中写
    fis.match('*.{js,scss,png}', {
      release: '/assets/$0'
    })
    
    fis.match('**/*.scss', {
      // 修改scss扩展名为css
      rExt: '.css',
      // 使用插件fis-parser-node-sass,前面的不用写
      parser: fis.plugin('node-sass')
    })
    
    1. 在命令行中执行fis3 release -d output可以看到,sass文件已经被转换成css文件,在index.html的引用也变成了css

    js文件编译

    1. 安装插件npm i fis-parser-babel-6.x
    2. fis-conf.js中写
    fis.match('*.{js,scss,png}', {
      release: '/assets/$0'
    })
    
    fis.match('**/*.js', {
      // 目前只有6.x版本,现在babel已经更新到7.x了
      parser: fis.plugin('babel-6.x')
    })
    
    1. 在命令行中执行fis3 release -d output可以看到,js文件已经被编译了

    文件压缩

    1. 因为cssjs压缩是fis内置插件,所以直接在fis-conf.js中写
    fis.match('*.{js,scss,png}', {
      release: '/assets/$0'
    })
    
    fis.match('**/*.scss', {
      rExt: '.css',
      parser: fis.plugin('node-sass'),
      // fis内置css压缩插件
      optimizer: fis.plugin('clean-css')
    })
    
    fis.match('**/*.js', {
      parser: fis.plugin('babel-6.x'),
      // fis内置js压缩插件
      optimizer: fis.plugin('uglify-js')
    })
    

    调试

    使用fis3 inspect命令可以看到对哪些文件进行了操作

    fis3 inspect
    
    # [INFO] Currently running fis3 (C:\Users\huqi\AppData\Roaming\npm\node_modules\fis3\)
    
    # ~ /css/style.scss
    # -- release /assets/css/style.css `*.{js,scss,png}`   (0th)
    # -- rExt .css `**/*.scss`   (1th)
    # -- parser [plugin `node-sass`] `**/*.scss`   (1th)
    # -- optimizer [plugin `clean-css`] `**/*.scss`   (1th)
    
    
    # ~ /dist/fis-conf.dev.js
    # -- release /assets/dist/fis-conf.dev.js `*.{js,scss,png}`   (0th)
    # -- parser [plugin `babel-6.x`] `**/*.js`   (2th)
    # -- optimizer [plugin `uglify-js`] `**/*.js`   (2th)
    
    
    # ~ /img/icon.png
    # -- release /assets/img/icon.png `*.{js,scss,png}`   (0th)
    
    
    # ~ /index.html
    # -- empty
    
    # ~ /js/app.js
    # -- release /assets/js/app.js `*.{js,scss,png}`   (0th)
    # -- parser [plugin `babel-6.x`] `**/*.js`   (2th)
    # -- optimizer [plugin `uglify-js`] `**/*.js`   (2th)
    
    
    # ~ /package-lock.json
    # -- empty
    
    # ~ ::package
    # -- empty
    
    # ~  plugin check
    # installed plugins:
    #  fis-parser-node-sass
    #  fis-parser-babel-6.x
    #  fis-optimizer-clean-css
    #  fis-optimizer-uglify-js
    
    # no more plugin are needed
    

    起源地下载网 » FIS —— 已经不再维护的前端构建系统

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元