สิ่งนี้ปลอดภัยหรือไม่ที่จะใช้require("path").join
เพื่อเชื่อมต่อ URL เช่น:
require("path").join("http://example.com", "ok");
//returns 'http://example.com/ok'
require("path").join("http://example.com/", "ok");
//returns 'http://example.com/ok'
ถ้าไม่คุณจะแนะนำวิธีใดในการทำสิ่งนี้โดยไม่ต้องเขียนโค้ดที่มี 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')
การเข้าร่วมจะกำจัดหนึ่งในเครื่องหมายทับคู่ในhttp://
'http://localhost:9887/one/two/three/'.replace(/^\/+|\/+$/, '') + '/' + '/four'.replace(/^\/+|\/+$/, '')
และคุณสามารถทำString.prototype.trimSlashes = function() { return this.replace(/^\/+|\/+$/, ''); }
ถ้าคุณไม่ต้องการที่จะพิมพ์นิพจน์ปกติซ้ำแล้วซ้ำอีก stackoverflow.com/a/22387870/2537258
['http://localhost:9887/one/two/three/', '/four'].map((part) => part. replace(/^\/+|\/+$/, '')).join('/')