主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JavaScript: ブラウザ用に書いていたライブラリをNode.jsにも対応させてみる

                
 以前にクライアントサイドJavaScriptでJPEGのメタデータであるExifを編集できるPiexifjsというライブラリを書いた。StackoverflowでNode.js環境でExifを編集する方法はないかと質問が出ているのを見かけたので、PiexifjsをNode.jsにも対応させてみた。

 Node.jsで使えるライブラリにするための書き方は、作った関数やオブジェクトをmodule.exportsに入れることだ。
module.exports = foo;
 つまりNode.js環境では上記を実行、ブラウザ環境ではグローバルオブジェクトのプロパティに作成した関数やオブジェクトを入れるように書くことで、Node.js環境でもブラウザ環境でも使えるライブラリとなる。有名なunderscore.jsはそうしているので、Piexifjsもそれにならってみる。
 Piexifjsでは定義された関数をthatというオブジェクトにまとめて入れてある。そのthatの代入先を条件に応じて変える。
if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = that;
}
exports.piexif = that;
} else {
window.piexif = that;
}


 作ったライブラリを読み込む。Node.js環境では・・・・・・
var piexif = require("piexif.js");
ブラウザ環境では・・・・・・
<script src="piexif.js"></script>

 あとはどちらの環境でも共通のスクリプトを書けば使える。
var exifOjb = piexif.load(jpegData);
var exifbytes = piexif.dump(exifObj);
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。