包括相对于网站根目录的JS和CSS文件

时间:2013-06-24 12:53:52

标签: javascript html css

我正在寻找包含CSS / JS文件的最佳实践,就文件URI而言。我看到人们通过给文件提供完整的URI来包含来自网站根目录的文件:

<link rel="stylesheet" href="/my/path/to/css/main.css">

我倾向于这样做,因为我发现在阅读代码时更容易知道文件的位置,而且我没有遇到过它的问题。但我也看到很多亲戚包括:

<link rel="stylesheet" href="css/main.css">

您定义文件位置的方式是什么?为什么?一个比另一个好吗?

2 个答案:

答案 0 :(得分:2)

我更喜欢相对包含,因为它们对平台更改(例如从测试到实时平台的部署)是健壮的,因为只要项目的内部结构没有改变,它们仍然可以工作,而在这种情况下绝对路径可能会中断。 此外,有时很难知道绝对路径,而相对文档相关路径非常明显。

但是,如果整个项目中有多个不同位置的文件,那么每次都会有不同的相对路径(对于同一个文件而言可能非常混乱),所以在这种情况下,绝对可能是首选(对于健壮性')为了使用变量或类似的webroot路径:$WEBROOT/css/main.css)。这一切都取决于我的个人需求。

答案 1 :(得分:0)

在第一种情况下,URI是绝对到网站的域。所以,URI将是:

http://www.example.com/my/path/to/css/main.css

对于第二种方法,路径相对于当前路径。所以,假设你现在在

http://www.example.com/store/product/121

然后css文件的路径是:

http://www.example.com/store/product/css/main.css

因此,它取决于您的文件位于何处。