タグ:Node 一覧
jsでぶつかる壁の一つ非同期処理。Adobe Extensionだと基本jsxとの通信くらいしか使用しないですがNode moduleを色々使用したり外部との通信をやったりしていくうちにExtension開発者も徐々にぶつかる壁です。同期処理は上から下にコードを書いていけば上から下に処理を実行しますが非同期処理は処理が実行されてから終了するまで他の処理と同期しないので上から下に順番に処理を実行してくれません。誰もが最初に驚く壁だと思います。そして面倒くさいと感じるでしょう。しかし今日この非同期処理はjsと切っても切れない関係になっていてwebsiteを作る時もクライアントサイドでもがんがん使わ
Read more
よく使うファイル操作のメソッド一覧の続きです。 readdirSync(ファイルパス,オプション) フォルダー内のファイルを配列形式で取得します。ver10からオプションに{withFileTypes:true}を渡すとファイルの情報も取得できるようになりました。(Adobe cepはver8) 各ファイルはisDirectoryメソッドでフォルダーかどうかを簡単に識別できるので再帰的にフォルダーを遡る方法が簡単になりました。 ファイルを再起的に取得。 指定したパスからフォルダー名のみ取得。 readFileSync(ファイルパス、オプション) readFileSyncはファイルの中身を読み込
Read more
今回はよく使うファイル操作のメソッド一覧です。 fs.renameSync(オリジナルパス、リネーム後のパス) fs.renameはリネームと名前がついていますがファイル移動もこのメソッドを使います。第一引数に元々のファイルパス、第二引数でリネーム後(移動後)のパス。リネーム後と同一のファイルがすでに存在する場合リネーム後のファイルで上書きしてしまうので注意。但し同じフォルダーがあった場合はエラーを返します。 fs.mkdirSync(フォルダーパス,オプション) fs.mkdirSyncはからのフォルダーを作成します。作成するフォルダーパスを引数に渡してください。階層の深いフォルダーを一度に
Read more
実際Nodeでフォルダーのファイルを一覧として取得してみます。Adobe CEPの環境でも動きます。ファイル関係のモジュールはfsになりますがfsやpathモジュールはデフォルトで使用できるモジュールなのでnpmでインストールやらなんやらする必要はありません。 コードの頭でモジュールを呼びだすのが良いみたいです。 実際に特定のフォルダーの中に入っているファイルを一覧として取得してみましょう。 今回デスクトップに設置したcopyFolderという名前のフォルダーからフォルダーの中身の一覧を取得します。実際copyFolderという名前のフォルダーをデスクトップに作成して中になんでもいいのでファイ
Read more
今までも何度かファイルシステム関連の記事やNode js関連の記事に触れましたが改めてファイルシステムを扱う手段としてNode jsに触れてみます。Node jsは元々サーバーサイドスクリプトなのでブラウザ上で動くスクリプトと違って直接ローカル上のファイルを動かしたり書き込んだりすることが可能なのでファイルシステムを作ることが可能です。反対にブラウザ上で動くクライアントサイド側のスクリプトはセキュリティ上ローカルのファイルを直接いじれないようになっています。ウェブサイトを回覧していて突然スクリプトがユーザーのローカルのファイルを書き込んだりすると危険でしょう。ちなみにAdobeのjsxはまたク
Read more
Adobe extensionを開発しているとformを扱う事が多くなります。jsxから数値を取得して、それをパネル上で表示して、数値を入力またjsxにアクセスしたり。デフォルトのtopcoatのcssは基本の設定が揃っていて便利ですがhtml構造が少し難しくなりがち。 前回説明したようにcheckboxやradiobuttonはlabel要素の中にdivが混じっていたりと少し複雑です。ここら辺のコードは柔軟なCEPを開発しようと思うと何度も触れる部分なので普段からまとめられると便利です。例えば以下のようなリストをjsで作るとしましょう。 各種input要素等を囲ったlabel要素があってその
Read more
ご存知の通りポスターやディスプレイの作成なんかはIllustratorで版下を作成する事が多いです。しかし写真の画像をIllustratorで配置して出力する場合はプリンターにデータを送るためにPDFやpostscriptファイルに変換してプリンターに送るのですが写真の画像の色補正をPhotoshopで行なった後に一々Illustratorで開いて出力するというこのためだけにIllustratorを立ち上げることが多いです。このIllustratorで開いて出力という面倒くさい作業を自動化するために配置画像をNodeで監視して更新されたら自動的にIllustratorがPDFで書き出すExte
Read more
PhotoshopやIllustratorで特定のファイルやフォルダーが更新、追加されたら自動的に書き出し等を行うExtensionを開発します。Adobeのソフトを通じて何かのファイルをPDFやjpgを書き出すといった作業がいろんな分野で多いと思ってファイルの監視を発火イベントとして使用したいと思ったのが始まりです。 まずは手始めとしてPhotoshopによる自動jpeg書き出し機能を開発したいと思います。仕様としては。 最初に監視対象のフォルダーを選ぶ ボタンを押して監視をスタートさせる psd、tiffファイルが追加されたらPhotoshopで自動的にjpegに書き出す。 Nodeではデ
Read more
前回よりローカルのサーバーを通じてアプリ間の連携を紹介しましたが今回は応用編としてIllustrator内で配置、レイアウトした写真画像をPhotoshopで再度開いて編集、更新、その後Illustratorで再編集、PDF書き出しといったやりとりをNode.jsでやりたいと思います。Illustrator内に配置した写真画像の色調補正の再補正等、いちいちPhotoshopに戻って開いて、書き出し、再度Illustrator側で開くといった事が多いと思うのでこのあたりの作業を自動化させたいと思いました。特にDTPや印刷、出力の際にIllustratorデータをPDFやらpostscriptファ
Read more
前回Photoshopからサーバーを立ち上げて待ち受けの状態まで作ったのでさらに通信を受け取って受け取った内容を表示させたいと思います。具体的にはPOSTでサーバーにデーターを送信してデーターを受け取ったらjsxでデータの内容を表示させます。 POST送信でオブジェクトを受け取ったらjsxでオブジェクトの内容をjsx内のアラートで通知。POST送信はfetchで投げれば簡単にできます。 決して難しくはないコードですが一連のやりとりは勿論非同期で行われる事、IllustratorやPhotoshopといった異なるアプリ間でコードを書かないといけない上、さらにjsxともやりとりしないといけないので
Read more