mimeは、MIME-TYPEをマッピングしているパッケージです。
$ npm install mime
CoffeeScript
mime = require 'mime' console.log '--- lookup ---' console.log mime.lookup '.txt' console.log mime.lookup '.mp3' console.log mime.lookup 'a.htm' console.log mime.lookup '.flv' console.log '--- extension ---' console.log mime.extension 'text/html' console.log mime.extension 'application/vnd.ms-excel' console.log mime.extension 'video/x-m4v' console.log mime.extension 'application/json'
mimeには、ファイルの拡張子からMIME-TYPEを取得する lookup メソッドと、その逆でMIME-TYPEから拡張子を取得する extensionメソッドがあります。
実行してみます。
$ coffee sample.coffee --- lookup --- text/plain audio/mpeg text/html video/x-flv --- extension --- html xls m4v json
また、mimeでは、独自のMIME-TYPEを追加することができます。
mime = require 'mime' console.log '--- custom ---' mime.define { 'text/coffee': ['coffee', 'cf'] 'text/ruby': ['rb', 'ruby'] } console.log mime.lookup 'sample.coffee' console.log mime.lookup 'sample.cf' console.log mime.extension 'text/coffee' console.log mime.lookup 'sample.rb' console.log mime.extension 'text/ruby' console.log '--- load sample.types ---' mime.load 'sample.types' console.log mime.lookup 'a.mid' console.log mime.extension 'audio/x-midi'
defineメソッドでコードからMIME-TYPEを追加できます。loadメソッドでは、ファイルを指定して追加することもできます。このときのファイルフォーマットは、Apacheのtypes形式となります。
sample.types
audio/x-midi mid
実行
$ coffee sample.coffee --- custom --- text/coffee text/coffee coffee text/ruby rb --- load sample.types --- audio/x-midi mid
mimeは、地味ですが、expressなどのWebフレームワークで使われている重要なパッケージの一つです。
0 件のコメント:
コメントを投稿