我正在使用此传递的代码
var newstring = srchStr3.replace(/&/g, "&");
var srchStr3 = job.getJobInfo("JobData").replace("&", "&");
我看了official docs,但是文档没有显示实际的例子。
从概念上讲,const DIST_DIR = path.join(__dirname, '/client-react/dist');
似乎可以使平台之间的路径保持一致,但我不知道这实际上意味着什么。
有人可以提供一个实际的例子吗?
答案 0 :(得分:3)
不同的OS使用不同的路径分隔符。例如,Windows使用反斜杠\
来分隔目录,而基于Unix的系统(例如Linux,macOS)使用正斜杠/
来实现相同的目的。
使用path.join
,确保您的路径与运行它的操作系统的正确分隔符连接在一起。
相反,如果您使用了普通的字符串连接函数或运算符,那么路径分隔符将被硬编码,可以这么说,您的脚本/程序将在一个系统上运行而在另一个系统上失败。
在与平台无关的编程语言(如JS)中,将平台特定的功能外包给此类库很重要,以确保我们的脚本足够健壮以承受不同的操作系统。
答案 1 :(得分:1)
简单地将其视为平台的抽象。由于不同的平台使用不同的语法处理方式,因此,如果您希望代码与平台无关,请使用路径。
实际上,这将影响正斜杠或反斜杠用于其他路径。
请参见forward and backward slashes上的这篇SO帖子。
答案 2 :(得分:0)
如果在Windows上运行节点脚本,则文件夹分隔符为'\'。文件/目录路径如下'C:\home\user\Documents\a.doc'
在Linux和Mac上,它是'/'。完整的文件/目录路径如下所示:'/home/user/Documents/a.doc'
如果您试图在节点脚本中手动建立文件路径,并且希望该脚本在Windows和linux / mac上均能正常运行,则需要使用if条件来检查要使用哪个路径分隔符采用。 path.join会为您解决这个问题。