jdfx对文件路径的拼写方式进行了一些调整,这里对各种情况进行一下说明。假设你的config.json中有如下配置:
{
"projectPath": "jdf-test"
}
项目的目录结构如下所示:
jdf-test
├── config.json
├── html
└── index.html
├── js
└── a.js
└── b.js
├── css
└── style.css
└── i
└── icon.png
1、相对路径
现在引用文件的时候你可以使用类似./,../,../../的相对路径表示方式,例如:
- 在
html/index.html中引用了一个js文件:
<script src="../js/a.js"></script>
那么它就会被编译成:
<script src="//misc.360buyimg.com/jdf-test/js/a.js"></script>
2、以/开头的绝对路径
以/开头的路径,会被认为是相对于项目根目录的绝对路径。例如还是上面html文件引用js的例子,我还可以写成:
<script src="/js/a.js"></script>
编译之后的结果还是:
<script src="//misc.360buyimg.com/jdf-test/js/a.js"></script>
3、使用require加载文件
用require加载文件,并且文件路径以字母开头的,会被直接添加上cdn然后返回,其它情况还是会以相对路径处理。例如:
require("jdf/2.0.0/ui/dialog/1.0.0/dialog");
require("a.js");
然后它们会被编译成:
require("misc.360buyimg.com/jdf/2.0.0/ui/dialog/1.0.0/dialog");
require("misc.360buyimg.com/a.js");
相要引用当前目录的文件,必须加上./,例如:
4、使用seajs.use加载文件
用 seajs.use加载文件,文件路径以字母开头的,会被直接添加cdn然后返回,其它情况还是会以相对路径处理。例如:
seajs.use(["jdf/2.0.0/ui/dialog/1.0.0/dialog"]);
然后会被编译为:
seajs.use(["misc.360buyimg.com/jdf/2.0.0/ui/dialog/1.0.0/dialog"])
5、以http://、https://和//开头的绝对路径地址
针对此类绝对路径,jdfx不做任何处理。
jdfx对文件路径的拼写方式进行了一些调整,这里对各种情况进行一下说明。假设你的
config.json中有如下配置:{ "projectPath": "jdf-test" }项目的目录结构如下所示:
1、相对路径
现在引用文件的时候你可以使用类似
./,../,../../的相对路径表示方式,例如:html/index.html中引用了一个js文件:那么它就会被编译成:
2、以
/开头的绝对路径以
/开头的路径,会被认为是相对于项目根目录的绝对路径。例如还是上面html文件引用js的例子,我还可以写成:编译之后的结果还是:
3、使用
require加载文件用
require加载文件,并且文件路径以字母开头的,会被直接添加上cdn然后返回,其它情况还是会以相对路径处理。例如:然后它们会被编译成:
相要引用当前目录的文件,必须加上
./,例如:4、使用
seajs.use加载文件用
seajs.use加载文件,文件路径以字母开头的,会被直接添加cdn然后返回,其它情况还是会以相对路径处理。例如:然后会被编译为:
5、以
http://、https://和//开头的绝对路径地址针对此类绝对路径,
jdfx不做任何处理。