ファイルシステムのパスからファイル名の拡張子を抽出するときにはpath
のみで対応できますが、URLの場合にはクエリやフラグメントが付くので最初にurl
でパス部分を抽出する必要があります。単純な問題ですが実装するときに少し悩んだので、備忘録としてまとめました。
app.js
const path = require('path'); const url = require('url'); const targetUrl = 'http://example.com/a.b?c=d#e' const parsedUrl = url.parse(targetUrl) const ext = path.extname(parsedUrl.pathname) console.log(`ext: ${ext}`)
実行結果
$ node app.js ext: .b