依赖声明
在html中声明依赖
用户可以在html的注释中声明依赖关系,这些依赖关系最终会被记录到fis编译产出的 map.json 文件中。
在项目的index.html里使用注释声明依赖关系:
<!--
@require demo.js
@require "demo.css"
-->
默认情况下,只有js和css文件会输出到map.json表中,如果想将html文件加入表中,需要通过配置 useMap
让HTML文件加入map.json,例如:
//fis-conf.js
fis.config.merge({
roadmap : {
path : [
{
//所有的html文件
reg : '**.html',
//输出到map.json表中
useMap : true
}
]
}
});
执行 fis release --dest ./output --md5 命令对项目进行编译,查看output目录下的map.json文件,则可看到:
{
"res" : {
"demo.css" : {
"uri" : "/static/css/demo_7defa41.css",
"type" : "css"
},
"demo.js" : {
"uri" : "/static/js/demo_33c5143.js",
"type" : "js",
"deps" : [ "demo.css" ]
},
"index.html" : {
"uri" : "/index.html",
"type" : "html",
"deps" : [ "demo.js", "demo.css" ]
}
},
"pkg" : {}
}
在js中声明依赖
fis支持识别js文件中的 require函数,或者 注释中的@require字段 标记的依赖关系,这些分析处理对 html的script标签内容 同样有效。
//demo.js
/**
* @require demo.css
* @require list.js
*/
var $ = require('jquery');
经过编译之后,查看产出的 map.json 文件,可以看到:
{
"res" : {
...
"demo.js" : {
"uri" : "/static/js/demo_33c5143.js",
"type" : "js",
"deps" : [ "demo.css", "list.js", "jquery" ]
},
...
},
"pkg" : {}
}
在css中声明依赖
fis支持识别css文件 注释中的@require字段 标记的依赖关系,这些分析处理对 html的style标签内容 同样有效。
/**
* demo.css
* @require reset.css
*/
经过编译之后,查看产出的 map.json 文件,可以看到:
{
"res" : {
...
"demo.css" : {
"uri" : "/static/css/demo_7defa41.css",
"type" : "css",
"deps" : [ "reset.css" ]
},
...
},
"pkg" : {}
}
有任何问题,请在 https://github.com/fex-team/fis/issues 讨论