Điều này có an toàn để sử dụng require("path").join
để nối các URL, ví dụ:
require("path").join("http://example.com", "ok");
//returns 'http://example.com/ok'
require("path").join("http://example.com/", "ok");
//returns 'http://example.com/ok'
Nếu không, bạn sẽ đề xuất cách nào để thực hiện việc này mà không cần viết mã đầy ifs?
path.posix.join('/one/two/three', 'four') // '/one/two/three/four
, path.posix.join('/one/two/three/', 'four') // '/one/two/three/four
,path.posix.join('/one/two/three/', '/four') // '/one/two/three/four
path.posix.join('http://localhost:9887/one/two/three/', '/four')
, join được thoát khỏi một trong những dấu gạch chéo đôi tronghttp://
'http://localhost:9887/one/two/three/'.replace(/^\/+|\/+$/, '') + '/' + '/four'.replace(/^\/+|\/+$/, '')
và bạn có thể làm String.prototype.trimSlashes = function() { return this.replace(/^\/+|\/+$/, ''); }
nếu không muốn nhập biểu thức chính quy lặp đi lặp lại. stackoverflow.com/a/22387870/2537258
['http://localhost:9887/one/two/three/', '/four'].map((part) => part. replace(/^\/+|\/+$/, '')).join('/')