file-type - Node.js

file-type とは

テキストベースの形式ではなく、バイナリベースのファイル形式を検出することができます。

バージョン 17 以降は、ESM パッケージです。

CommonJS のパッケージを使うには、古いバージョンを利用する必要があります。

また、CommonJS のパッケージと併用するには、ダイナミックインポートで読み込む必要があります。

調べることができるファイルの拡張子は、「 node_modules/file-type/supported.js 」で確認できます。

インストール

ESM

npm install file-type

CommonJS

npm i file-type@16.5.4

パッケージの読み込み

ESM

import {fileTypeFromFile} from 'file-type';

CommonJS

const FileType = require('file-type');

ダイナミックインポートの方法

ディレクトリ構成が次の場合、script.js のようにすることで、CommonJS プロジェクトでも ESM パッケージを読み込むことができます。

  • example
    • node_modules
      • file-type
        • ...中略...
        • index.js
        • ...中略...
    • flower.jpg
    • script.js

script.js

(async () => {
  const fileType = await import('./node_modules/file-type/index.js')
	console.log(await fileType.fileTypeFromFile('./flower.jpg'))
})();

サンプル画像

サンプル画像