-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Labels
Description
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");相要引用当前目录的文件,必须加上./,例如:
require("./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不做任何处理。
loveky, jiadi0801, Onlyfor3ver and Daisy-Liloveky, jiadi0801, Onlyfor3ver and Daisy-Li