附加到路径的正确方式是什么
What is the proper way to append to a path?
我接受一个目录路径作为其中一个脚本的命令行参数。我想做两件事。第一,我想确认在目录中传递的路径。我想做的第二件事是用子目录名附加到路径上(我提前知道了子目录名)。库中是否有函数会在路径中缺少尾随/
字符时自动添加该字符,或者必须手动检查?
例如,如果传递了/User/local
,那么我必须将/bin
添加到路径,而如果传递了路径/User/local/
,则我必须添加bin
。
谢谢你的帮助。
您似乎只想要path.join、fs.existsSync和fs.statSync
var path = require('path');
var fs = require('fs');
var dir = process.argv[2];
console.log(dir);
console.log(fs.existsSync(dir) && fs.statSync(dir).isDirectory());
console.log(path.join(dir, 'mysubdir'));
所以如果我运行上面的类似:node test.js /tmp
的程序,我会得到:
/tmp
true
/tmp/mysubdir
var tail = 'bin/test/',
path = arg[arg.length-1] === '/' ? arg + tail : arg + '/' + tail;
或者我错过了什么?:)
您可以将逻辑放入一个简短的函数中,以确保两个部分之间只有一个"/":
function appendToPath(orig, add) {
return orig.replace(/'/$/, "") + "/" + add.replace(/^'//, "");
}
var newPath = appendToPath("/User/local", "bin");
或
var newPath = appendToPath("/User/local/", "/bin");
或
var newPath = appendToPath("/User/local", "/bin");
它们都返回"/User/local/bin"
。
相关文章:
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 在node.js中编写单元测试的最佳方式是什么
- 使用AJAX在Rails中提交动态表单的最佳方式是什么
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 在AngularJS中使用多个主题的最佳方式是什么
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 为Google闭包类定义属性的首选方式是什么
- 用JavaScript随机给网页上的每个字母上色的最佳方式是什么
- 将JavaScript检测与MVC4显示模式集成的最佳方式是什么
- 正确的使用方式是什么.js与网络工作者
- 在客户端调整图像大小/裁剪图像的最佳方式是什么
- 大规模保存cookie的最佳方式是什么
- Vue.js中端到端(e2e)测试的正确方式是什么
- 在JavasciptMVC中存储常量值的最佳方式是什么
- 在angular js中,每次应用程序进入状态时,重新加载状态的最佳方式是什么
- 在项目中组织CSS/JavaScript的最佳方式是什么
- 在JavaScript中,最紧凑、最优雅、最高效的四舍五入方式是什么
- Angular:将对象存储在服务中以在视图中显示和将crud函数存储到服务器的最佳方式是什么
- Java开发人员在不编写Javascript的情况下生成Javascript的最佳方式是什么