javascript 中的格式化路径字符串

formatting path string in javascript

如果您觉得必须否决这个问题,我将不胜感激,请对此发表评论:任何反馈总比没有反馈好。


我一直在尝试格式化混合路径数组(unix 和 windows 格式)并在某些情况下删除根目录。

但我想知道是否有人可以提出建议:

源代码:

var js = [
  "scripts/content.js",
  "dist/styles/styles.css",
  "dist\vendor\scripts\bootstrap.min.js",
  "dist\vendor\scripts\jquery.min.js"
];

var root = 'dist';

var convertPath = function(path) {
    return path.replace(/\/g,"/");
};

var splitted = function(path) {
    return path.split('/');
};

var pop = function(arr) {
    var l = arr.length;
    if( arr[0] === root ){
      return arr.splice(1,l-1);
    }
    return arr;
};

var merge = function(arr) {
    return arr.join('/');
};

var length = js.length;
var i = 0;

for(i;i < length; i++){
    console.log(js[i] + ' => ' + merge(pop(splitted(convertPath(js[i])))));
}

期望的输出:

"scripts/content.js => scripts/content.js"
"dist/styles/styles.css => styles/styles.css"
"dist\vendor\scripts\bootstrap.min.js => vendor/scripts/bootstrap.min.js"
"dist\vendor\scripts\jquery.min.js => vendor/scripts/jquery.min.js"

JSBin preview

我的目标是为 chrome 扩展项目

自动化 installation of bower components with gulp
var output = js.map(function(i){return i + " => " + i.replace(/\/g, '/').replace(/^dist\//,'');});