双反斜杠在节点中打印相同的内容

时间:2016-05-07 13:52:37

标签: javascript string backslash

我想创建一个目录字符串变量'。\ app \ src \ algorithms',以便在Windows平台上的节点中的exec函数中使用它。 但是,即使在字符串中使用双反斜杠也无法正常工作。 这是我的尝试;

λ node
> directory =  '.\app\src\algorithms';
'.appsrcalgorithms'
> directory =  '.\\app\\src\\algorithms';
'.\\app\\src\\algorithms'

2 个答案:

答案 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