这更是一个好奇的问题。在JavaScript和HTML中,点斜杠./
(当前的工作目录)是否曾经引起不同于遗漏的行为?
我假设它确实如此,否则它永远不会被使用。但我从来没有遇到过这种情况。
例如,在javascript中:
var config = require('./config.json');
VS
var config = require('config.json');
都是相对的并且引用同一个文件。它不是的任何情况?
答案 0 :(得分:1)
是的,这可能取决于您正在运行的环境以及处理URL / filePath的内容。
在您的示例中,require用于查找文件路径。例如,在node.js中的require
中指定文件路径时,如果在当前目录中找不到该文件名,则该脚本将在几个位置查找文件名,向下查看目录链文件,直到确定该文件不存在于任何这些位置。点击此处:http://nodejs.org/api/modules.html#modules_file_modules
在这种情况下,使用./
显示位置意味着node.js require
会明确指示在何处查找文件,并且不会在其他任何位置查找。如果它不在当前目录中,将立即返回错误。
但是,对于HTML,通常浏览器只会查找与发出文件请求的HTML文件相同的URL路径,因此<script src="file.js"></script>
通常会产生与{{1}相同的结果}。我想不出一个不会的例子。
我不能对客户端javascript库说同样的话,因为它还取决于这些库如何搜索文件。在客户端使用<script src="./file.js"></script>
,如果当前工作目录没有,则可以设置回退位置来搜索文件:http://requirejs.org/docs/api.html#config-paths
所以要回答,这取决于解释文件路径的函数/方法!