[英]NodeJS Javascript piece code running on Windows but not on Linux
我对NodeJS和Javascript特别陌生,并且创建了一个小型Web应用程序。 我的代码在Windows计算机上无缝运行。 但是,当我尝试在Linux VM上运行它时,它阻塞了一点,没有错误或引发异常。
我发现有一条线实际上在Linux中造成了阻塞,将其注释掉,然后代码从那里继续限制应用程序的功能,这在很大程度上取决于该行以及其他独立部分的功能。
....
var localEntry = entry.split('\\')
if(!localEntry)
localEntry = entry.split('/')
localEntry = localEntry[localEntry.length -1]
this.scripts[extn][localEntry].day1Vars = searchedVars[entry].day1Vars
}
我发现完全相同的代码在Windows计算机上无缝运行,而在Linux vm上由于一行代码而阻塞,我感到非常困惑,我想知道这怎么可能? 导致这种行为的行是: this.scripts[extn][localEntry].day1Vars = searchedVars[entry].day1Vars
我的期望是,Node.js上的代码与平台无关,并且引起这种差异的代码行的想法令人反感。 我正在同时使用Windows 10和RHEL 6.9和8GB的ram。
如果我缺少某些东西或出了什么问题,可以有人指导我吗? 任何帮助是极大的赞赏。
根据此人的要求,示例值(在Windows上):
entry : "d:\NodeProjects\BApp\uploads\bp\bp\scripts\nodejs\set-nodejs-root.sh"
localEntry : "set-nodejs-root.sh"
在Windows下指定路径时,必须使用“ \\”
Linux使用“ /”作为路径
最好检查一下环境。 例如,您应该拆分为:
ubuntu .split("/")
Windows .split("\\\\")
看起来您正在使用路径,此处的最佳建议是使用path模块为您处理这些路由:
https://nodejs.org/api/path.html
这是有关如何处理两个系统的路由的很好的解释:
https://nodejs.org/api/path.html#path_windows_vs_posix
我会用类似的东西
https://nodejs.org/api/path.html#path_path_parse_path
要正确解析路径,或者如果您需要构造路径,可以使用:
https://nodejs.org/api/path.html#path_path_join_paths
检查所有不同的选项,我99%确信您会找到适合您的用例的方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.