这更多是一个好奇的问题。在JavaScript和HTML中,点斜杠./ (当前工作目录)是否曾请求过不同于省略它的不同行为?
我想是的,否则它永远不会被使用。但我从来没有遇到过这样的情况。
例如,在javascript中:
var config = require('./config.json');vs
var config = require('config.json');都是相对的,并且引用同一个文件。有什么情况没有吗?
发布于 2014-01-17 23:16:08
是的,这可能取决于您正在运行的环境和处理URL/filePath的内容。
在您的示例中,require用于查找文件路径。例如,当在require中node.js中指定文件路径时,如果在当前目录中找不到文件名,脚本实际上会在几个位置查找文件名,然后向下查找文件的目录链,直到最终确定文件不存在于其中任何一个位置为止。请参阅这里的更多内容:modules
在本例中,使用./使位置显式意味着node.js require将得到关于在何处查找该文件的显式指示,并且不会查看其他任何位置。如果错误不在当前dir中,则会立即返回错误。
但是,对于HTML,非常典型的情况下,浏览器只会查看与发出文件请求的HTML文件相同的URL路径,因此<script src="file.js"></script>通常会产生与<script src="./file.js"></script>相同的结果。我想不出一个不可能的例子。
我不能对客户端javascript库说同样的话,因为这也取决于这些库将如何搜索文件。在客户端使用require.js,如果当前工作目录中没有文件,则可以设置回退位置:http://requirejs.org/docs/api.html#config-paths
因此,这取决于哪些函数/方法正在解释您的文件路径!
https://stackoverflow.com/questions/21197603
复制相似问题