【问题标题】:How can i include a js File who is not in the same directory?如何包含不在同一目录中的 js 文件?
【发布时间】:2015-05-07 07:17:41
【问题描述】:

我有一个文件夹测试,我的所有测试都在里面。 我有一个文件夹,里面有我所有的程序代码。

  • 测试文件夹
  • ->测试文件夹
  • -->test.js

  • 代码文件夹

  • ->文件夹1
  • -->code.js

现在我想将 code.js 包含到 test.js 中。

【问题讨论】:

标签: javascript path


【解决方案1】:

相对路径
路径取决于当前文件目录。例如:

index.html

TestFolder \
            |- test.js

CodeFolder \
            |- code.js

innerPages \
            |- inner-page.html
            |- another-page.html

如果浏览器当前运行的文件名为inner-page.html,则可以通过相对路径“../CodeFolder/code.js”访问code.js。 ../ 表示“父目录”。

您可以多次使用“父目录” - ../../../SomeFolder/somefile.js = 向上 3 个目录,然后找到 SomeFolder 和文件 somefile.js

绝对路径
这意味着您访问根文件夹(如果服务器运行您的文件,则意味着服务器 public 文件夹)。绝对路径以“/”开头。例如:

绝对路径:“/CodeFolder/code.js”将访问code.js 文件,无论您尝试从何处访问它。

如果浏览器当前正在运行index.html。以上绝对路径将访问code.js。如果它当前正在运行inder-page.html,这个绝对路径将再次访问code.js

请记住,如果这是一个客户端项目并且它在浏览器上运行,那么好的做法是使用绝对路径而不是相对路径。

假设您将code.js 用于index.html 和所有innerPages。将来您需要以某种方式重组项目的文件夹。比如需要在innerPages目录下添加子目录。

index.html

TestFolder \
            |- test.js

CodeFolder \
            |- code.js

innerPages \
            |- user-pages \
                           |- inner-page.html
                           |- another-page.html

            |- admin-pages \
                            |- ...

如果您使用的是真实路径会发生什么?例如:
您进入inner-page.html,并且使用了这条路径:"../CodeFolder/code.js"
在这种情况下,此路径将不正确。

但是如果你使用绝对路径...例如:
"/CodeFolder/code.js" - 它仍然可以工作,因为"/" 表示根目录。不管你现在在哪里,这个路径都会在你的根目录下搜索CodeFolder

加载脚本

正如@Krzysztof Trzos 所说,您可以使用jQuery's getScript() 函数轻松地从另一个脚本加载脚本。或者您可以查看他对 non jquery way 的评论的完整答案。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多