かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Node.js path.resolve は末尾の `/` が消える仕様になってる

表題の通り。
DB に入っている文字列から末尾に / のあるパスを作りたかったが、最終的に path.resolve を通すと末尾の / が削除される

import path from 'path';

path.resolve('/', '/foo/bar/');
// -> /foo/bar

The resulting path is normalized and trailing slashes are removed unless the path is resolved to the root directory.
cf. Path | Node.js v22.0.0 Documentation:title]

末尾に / を追加したい場合は path.join を使えば OK

import path from 'path';

path.join('/', 'foo/bar', '/');
// -> /foo/bar

path.join(path.resolve('/', '/foo/bar/'), '/');
// -> /foo/bar/

path.resolve で末尾に / の無いパスに正規化されるので、文字列結合で / を足しても大丈夫だと思う
末尾の / で検索したいときは 「trailing slash」で検索しすれば良い。学び

おわり


[参考]