我想创建一个目录字符串变量'。\ app \ src \ algorithms',以便在Windows平台上的节点中的exec函数中使用它。 但是,即使在字符串中使用双反斜杠也无法正常工作。 这是我的尝试;
λ node
> directory = '.\app\src\algorithms';
'.appsrcalgorithms'
> directory = '.\\app\\src\\algorithms';
'.\\app\\src\\algorithms'
答案 0 :(得分:2)
我认为使用path来处理与平台无关的工作的最佳方法是使用路径模块。 E.g。
var path = require('path');
var directory = path.join('.', 'app', 'src', 'algorithms')
答案 1 :(得分:2)
你有什么好。在内部它被存储为双重反弹,因为它是如何在JS字符串中逃避反斜杠的。节点REPL显示实际值。使用它时,它应该正确呈现。
> directory = '.\\app\\src\\algorithms';
'.\\app\\src\\algorithms'
> console.log(directory)
.\app\src\algorithms
> exec('explorer.exe ' + directory); //works