Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

文件路径拼写说明 #6

Copy link
Copy link

Description

@chenxiaochun
Issue body actions

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不做任何处理。

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.