モダンJavascript

元々、本ブログはファームウェアネタ中心なので少し本題から外れますが、「TTGO T-CameraをESP-IDF & Eclipseで動かす(その3)」で少しモダンJavascriptについてふれたのでもう少し検討してみます。といっても本当に少しだけですが…

「TTGO T-CameraをESP-IDF & Eclipseで動かす(その3)」では1行で書かれたJavascriptを「Babel」というツールである程度、整形しましたが、本来「Babel」は古いブラウザー用にモダンJavascriptを変換するもので目的が違います。

ChromeやChrome版EdgeでTTGO T-CameraのWeb Serverのサイトを開いているとき「F12」を押すとデバッグ画面が表示されます。

このときSourcesタブ ウィンドウに”Pretty-print”というものがあります。これは何でしょう。

読みやすい形式へのJavascriptの変換」で説明されているようにJavascriptを読みやすくしてくれるものです。早速「Pretty-pring」を押してみましょう。

確かに見やすく整形されていますし、CSSも整形されています。

これをセーブしてみます。「:formatted」タブを右クリックして「Save as …」を選択して、ファイル名を”camera_index.html”とでもして保存してみましょう。

まだ”i = (B, C, D)=>…”辺りなど三項演算子がどこにかかっているかわかりづらいですね。

Javascriptでは構文の最後の”;”(セミコロン)は推奨はされていても必須ではなく、また連続した構文の途中では”,”(カンマ)でもいいようなのでこれらをきちんと書き直してみます。

また三項演算子の書式は

らしいので三項演算子も上式のような感じにしてみました。

まだまだメソッド名や変数名がBとかCなのでわかりづらいですが、それでもだいぶ見通しが良くなりました。

一応、できたファイルを再度、圧縮してheaderファイルにして動作させてみました。

gzで圧縮したファイルをheaderファイルに変換するのにPythonで実装してみました。

できたcamera_index_pretty_print.hを「TTGO T-CameraをESP-IDF & Eclipseで動かす(その3)」で使用したプロジェクトのmainフォルダーに追加して、main.cの「#include “camera_index.h”」を「#include “camera_index_pretty_print.h”」に書き換えてbuild & FlashしてからブラウザーからTTGO T-cameraサイト(192.168.1.15など)を見てみると同様に動作します。

今度は「F12」で「Sources」を見るとCSSやjavascriptが整形済みですし、「pretty-print」も表示されません。

終わり… のつもりでしたが、javascript部分のBとかCとかを名前をつけてみたので載せておきます。多少、間違いがあるかもしれませんが再圧縮してheaderファイル化して動作させるときちんと動くので大間違いはないと思います。

今度こそ本当に終わり。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ESP32

次の記事

ESP32のDebug機能を試す