0
可以使用什麼自定義函數(在節點中),如果傳遞三個參數,即filePath
,basePath
和destPath
,它將返回一個新路徑。例如。在給定文件路徑,基路徑和新的目標路徑的情況下返回新路徑的節點/ JavaScript函數
實例函數簽名
var path = require('path'); // Nodes `path` module is likely to help?
/**
* Returns a new filepath
* @param {String} filePath - The path to the source file.
* @param {String} basePath - The path to determine which part of the
* FilePath argument is to be appended to the destPath argument.
* @param {String} destPath - The destination file path.
* @return {String} The new filepath.
*/
function foo(filePath, basePath, destPath) {
// ... ?
return newFilePath;
}
用法示例:
下面是調用的功能和價值的一些例子,我期望退換給出的參數傳遞:
// Example A
var a = foo('./foo/bar/baz/quux/filename.json', 'foo/bar/baz/', './dist');
console.log(a) // --> 'dist/baz/quux/filename.json'
// Example B
var b = foo('./a/b/c/d/e/filename.png', './a/b/c', './images/logos/');
console.log(b) // --> 'images/logos/c/d/e/filename.png'
// Example C
var c = foo('images/a/b/filename.png', './images/a/b', 'pictures/');
console.log(c) // --> 'pictures/b/filename.png'
更多信息
- 正如你可以從例如函數調用的
basePath
String
看到會通知在filePath
值應修剪的功能,其目的是類似的一口base option與gulp.src()
功能使用。 - 參數
String
值(即路徑)將始終是相對的,但是,它們有時會包含當前目錄前綴./
,有時不包括。尾部正斜槓/
可能會或可能不會出現在路徑String
上。 - 該解決方案必須在沒有任何附加依賴關係的情況下跨平臺工作。它也必須與
- 我已經使用path模塊的公用事業各種失敗嘗試初節點版本(> = 0.10.28),例如
path.normalize
然後分裂Array
等等,等等。然而,I」可用m相當肯定path模塊將被用於解決方案中。
在此先感謝。
感謝您看這個,但例如B和C導致雙向前砍了。 a ='。/ images/logos // b // d/e/filename.png'和 c ='pictures // a // filename.png'。 – RobC
這些是哪些參數?你能告訴我他們的函數調用,所以我可以重現(並希望修復)錯誤? – Feathercrown
道歉我以前的評論說** a = **,它應該說** b = **只需使用示例B和C(在我的OP中定義)在節點中調用您的函數,並且您應該看到雙正斜槓在結果日誌中。 – RobC