Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从完整路径Javascript中提取部分路径_Javascript_Angularjs_Webpack - Fatal编程技术网

从完整路径Javascript中提取部分路径

从完整路径Javascript中提取部分路径,javascript,angularjs,webpack,Javascript,Angularjs,Webpack,如何提取 pathB/pathC/pathD 从 欢迎任何第三方库或纯javascript 在某些Web包加载程序(如ng cache loader)中,我发现它们可以通过指定“/”来剥离路径的中间部分 从ng缓存加载程序文档: 前缀可以去除实际目录名(使用//): 在ng缓存加载程序源代码中找不到任何处理路径的代码。 也许我可以用和他们一样的方法剥离路径的中间部分?正如mzografski提到的那样,我把你的问题当作字符串解析来处理。你可以检查一下这个工作状态 代码: $scope.ToEx

如何提取

pathB/pathC/pathD

欢迎任何第三方库或纯javascript

在某些Web包加载程序(如ng cache loader)中,我发现它们可以通过指定“/”来剥离路径的中间部分

从ng缓存加载程序文档:

前缀可以去除实际目录名(使用//):

在ng缓存加载程序源代码中找不到任何处理路径的代码。
也许我可以用和他们一样的方法剥离路径的中间部分?

正如mzografski提到的那样,我把你的问题当作字符串解析来处理。你可以检查一下这个工作状态

代码:

$scope.ToExtract = 'pathB/pathC/pathD';
$scope.test = 'pathA/pathB/pathC/pathD/data.json';

$scope.extract = function(partToExtract, fullPath) {
    var index = fullPath.indexOf(partToExtract);
    return(fullPath.substring(0, index) + fullPath.substring(index+partToExtract.length+1, fullPath.length));
};

$scope.extract($scope.ToExtract, $scope.test);

你将在什么样的环境下做这件事?基本上,我会用JS中可用的字符串对象方法进行字符串解析,或者使用正则表达式。您如何知道需要提取的部分从何处开始,以及如何知道它从何处结束?是的,我总是需要第一个/和最后一个/之间的一切,我已经发布了答案
require('ng-cache?prefix=public/*//*/templates!./far/far/away/path/to/myPartial.html')
// => ng-include="'public/far/path/templates/myPartial.html'"  
$scope.ToExtract = 'pathB/pathC/pathD';
$scope.test = 'pathA/pathB/pathC/pathD/data.json';

$scope.extract = function(partToExtract, fullPath) {
    var index = fullPath.indexOf(partToExtract);
    return(fullPath.substring(0, index) + fullPath.substring(index+partToExtract.length+1, fullPath.length));
};

$scope.extract($scope.ToExtract, $scope.test);
var sep = '/';
var path = 'pathA/pathB/pathC/pathD/data.json';
path = path.split(sep);
path.shift();
path.pop();
path = path.join(sep);

// log pathB/pathC/pathD
console.log(path);