JSXでUnderscore.jsとかjson2.jsを使う


1.jsファイルをダウンロードしてくる

Underscore.js
http://underscorejs.org/underscore-min.js

JSON.js
https://github.com/douglascrockford/JSON-js

2.好きな場所に置く

どこでもいいのだけどESTのデフォルトの置き場が~/Documents/Adobe Scripts/だからその下にlibというフォルダを作って置いた。

  • ~
    • Documents
      • Adobe Scripts/
        • lib/
          • json2.js
          • underscore-min.js

3.JSXで読み込む

普通に。

test.jsx
(function(){
   var scriptdir = "~/Documents/Adobe Scripts";
   $.evalFile(scriptdir+"/lib/underscore-min.js");
   $.evalFile(scriptdir+"/lib/json2.js");
   $.writeln(_.isArray([])); // -> treu
   $.writeln(_.isObject(JSON.parse("{}"))); // -> true
}).call(this);

無名関数で書くときはきちんと.call(this)しないとJSXのグローバルオブジェクトである$.globalがスコープのthisに代入されないのでexportが上手くいかないことに注意。

4.まとめ

どうせできないだろと思っていたら思いの外簡単に外部jsを使うことができた。
これでPhotoshopの自動化が捗ると思う。