HTML5中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

HTML5中国 首页 教程视频 查看内容

前端开发手札fis篇——关于部署目录的问题

2016-8-23 07:57| 发布者: Hyukoh| 查看: 391| 评论: 0|原作者: 帕奇式|来自: SegmentFault

摘要: 用了差不多一年多的fis,感觉他比其他构建工具更容易上手,扩展插件也比较多。但是诟病也是有的,比如接下来要说的部署问题,虽然fis3本身也有比较好的方案解决(设置url参数),但是对于部署不是给内部同事对接而是 ...

  用了差不多一年多的fis,感觉他比其他构建工具更容易上手,扩展插件也比较多。但是诟病也是有的,比如接下来要说的部署问题,虽然fis3本身也有比较好的方案解决(设置url参数),但是对于部署不是给内部同事对接而是给客户部署是遇到不少问题。




  部署问题


  由于fis3部署生成的文件路径是网站目录根开始的(如:/assets/img/bg.png),导致网站发布必须是目录根才能有效加载。实际情况可能使用http://www.uxfeel.com/lxyz/这样的目录下发布,怎样才能更好地发布呢?


  解决方法1

  修改fis设置,添加url参数于静态资源的构建规则中,例如:

 

let asset_dir = '/assets',
        url = '/lxyz/'+url;
    
    fis.match('**',{
        release: asset_dir + '/$0',
        url: url + '$&' //改变引用地址
    })


  使用url参数fis就会很好帮你把访问路径替换好,但是并不灵活。


  假如你的项目交付给客户,然后他们先部署到测试服务器测试,然后再部署到其他服务器发布呢?

  这是客户需要找你进行代码的发布,当然你可以给开发包让他们弄,但是也有不讲理的时候。这是怎样处理更方便呢?


  解决方法2

  可以使用url替换脚本repath.sh 

# $ repath.sh [group] [path]
$ repath.sh lxyz ../release/lxyz-publish

  repath.sh脚本,会搜着目录下的所有文件并在/assets/、"/assets/、 ('/assets/开头的路径前面添加[group]参数。

   #!/bin/bash
    
    group=$1
    path=$2
    sed -i "s@(/assets/@(/$group/assets/@g" `grep "/assets/" -rl $path`
    sed -i "s@('/assets/@('/$group/assets/@g" `grep "/assets/" -rl $path`
    sed -i "s@\"/assets/@\"/$group/assets/@g" `grep "/assets/" -rl $path`

  虽然办法可能蠢一点,但是很实用



原文链接:https://segmentfault.com/a/1190000006684012

原文作者:帕奇式

本站资源均由 HTML5中国 编辑从其他网站精选HTML5相关资源转载,以供网友参阅,投稿: news@html5cn.org

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

HTML5中国微信

小黑屋|关于我们|HTML5论坛|友情链接|手机版|HTML5中国 ( 京ICP备11006447号 京公网安备:11010802018489号  

GMT+8, 2017-1-18 03:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部