fex-team / fis

Front-end Integrated Solution - 前端集成解决方案, 最新版请进入 FIS3 https://github.com/fex-team/fis3
http://fis.baidu.com
MIT License
2.96k stars 654 forks source link

fis3资源定位时,url多一个/的问题 #721

Closed libofei2004 closed 8 years ago

libofei2004 commented 8 years ago

我引用资源的url调试情况下是 使用fis输出后 fis.match('*', { release: '/dist/$0', url:'/pack/dist/$0' }); url变成了 ,多了一道“/”,请问这是为什么?

zhangtao07 commented 8 years ago

更详细点?哪里多了"/",注意 FIS 产出默认是绝对路径

libofei2004 commented 8 years ago

哦,链接没有给我显示出来啊,就是这样的路径src="./../../js/tongji.js", 输出后变成了/pack/dist//js/tongji.js

zhangtao07 commented 8 years ago

fis 中的路径都是从/开始的,所以 match 配置建议也从/开始写起,参见文档

所以改成这样就行了:

fis.match('/(*)', {
    release: '/dist/$1',
    url:'/pack/dist/$1'
});

实际使用中,一个*不能匹配多级目录,而且一般只有静态资源才需要重新指定 url 吧,所以一般用到是类似这样:

fis.match('/(**.{css,js})', {
      release: '/dist/$1',
      url: '/pack/dist/$1'
})

更多 glob 分组匹配的说明和 fis 的扩展参考上面的文档

libofei2004 commented 8 years ago

明白了,多谢!