差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン両方とも次のリビジョン
software:intellij:phpstorm:file_watcher:babel [2018/04/03] ikatakossoftware:intellij:phpstorm:file_watcher:babel [2018/04/04] ikatakos
行 1: 行 1:
 ======PhpStorm + Babel + Browserifyで自動トランスパイル====== ======PhpStorm + Babel + Browserifyで自動トランスパイル======
  
-免責: Web開発のフロントエンドは特にツールが乱立して魔境なので、あんまり各ツールの役割とか正しく理解できてないし、無駄なことしてるかも。とりあえず使えりゃいいやってくらいで。+免責: あんまり各ツールの役割とか正しく理解できてるか保証ないし、無駄なことしてるかも。とりあえず使えりゃいいやってくらいで。
  
   * 参考   * 参考
行 10: 行 10:
 =====目的===== =====目的=====
  
-javascript開発において、新しい言語使用を使いつつ、旧来のWebブラウザでも動くようにする+javascript開発において、新しい言語仕様を使いつつ、旧来のWebブラウザでも動くようにしたい
  
-  * Webサイト用のjavascriptを開発するとき、新しい言語仕様(ES2015/ES6)の方が書きやすい +  * javascript2015年にECMA Script2015(ES6)という新しい言語仕様が策定され、そちらの方が書きやすい 
-  * だけど各種ブラウザは、新しい言語使用をまだ全ては解釈できない:-( +  * だけど各種ブラウザは、新しい言語仕様をまだ全ては解釈できない:-( 
-  * ES6で書いたものを昔ながらの書き方に変換(トランスパイル)して、ブラウザには変換後を読み込ませましょう+  * 開発はES6で書き、それを昔ながらの書き方に変換(トランスパイル)して、ブラウザには変換後を読み込ませましょう
   * 変換処理は、ファイルの更新を監視して自動で行わせましょう   * 変換処理は、ファイルの更新を監視して自動で行わせましょう
  
-…という過渡期特有面倒くさい制約から生まれた手法。+…という過渡期の制約から生まれた手法。
  
 ちなみに想定対象者は、 ちなみに想定対象者は、
  
-  * javascriptを使ったWebページを開発する。規模は個人とか数人レベル +  * javascriptを使ったWebページを開発する。規模は個人レベル 
-  * Web開発専門職というわけでなく、流れの速いWeb開発ツールのトレンドは追ってられないため、あまり多くのツールに依存するのは情報を調べるコストから避けたいが、そこそこの便利ツールの恩恵は享受したい。バランス派。+  * 流れの速いWeb開発ツールのトレンドは追ってられないため、あまり多くのツールに依存するのは情報を調べるコストから避けたいが、そこそこの便利ツールの恩恵は享受したい。バランス派。
  
 =====前提環境===== =====前提環境=====
行 33: 行 33:
 =====全体の流れ===== =====全体の流れ=====
  
-Browserify(ファイル結合ツール)を実行主体とし、Babel(トランスパイラ)をプラグインとして実行する。+Node.js上で、Browserify(ファイル結合ツール)を実行主体とし、Babel(トランスパイラ)をプラグインとして実行する。
  
 また、圧縮と、デバッグ用のconsole.log()の削除も同時に行う。 また、圧縮と、デバッグ用のconsole.log()の削除も同時に行う。
行 39: 行 39:
  
 もっとやりこむならgulpとかのタスクツールを使う選択肢もあるが、ちょっとそこまで行くと調べることが多くなりすぎるので、シンプルにこの構成で。 もっとやりこむならgulpとかのタスクツールを使う選択肢もあるが、ちょっとそこまで行くと調べることが多くなりすぎるので、シンプルにこの構成で。
 +
 +あと、最近はBrowserifyの代わりにwebpackが主流なんだぜーとか言うのも無視!(どうせ次に自分がWeb開発を必要とする時には、また別のツールが主流になってるんだ絶対)
  
  
 =====Browserifyのインストール===== =====Browserifyのインストール=====
  
-ブラウザのjavascriptは外部ファイル読み込み機能であるimportやrequireを解釈できない。これをあらかじめまとめて1つしてやBrowserify+ブラウザのjavascriptは外部ファイル読み込み機能であるrequireを解釈できない。つまり、1機能は1ファイルにまとめて書かねばならず、複数ファイル分け場合は変数をグローバル空間上で受け渡ししなければならない。だ、1ファイルが長大になると開発しにくい
  
-''import/export''構文Babelが''require''構文に変換し''require''Browserifyが1つにまとめ上げという流れ+これを、requireを使ったスクリプトでも、あらかじめまとめて1つにしてやのがBrowserify
  
  
行 86: 行 88:
 =====.babelrcの記述===== =====.babelrcの記述=====
  
-ケージをインストールしたはいいが、それを実行時に指定してやらないとBabelは使ってくれない。+プリセトやプラグインをインストールしたはいいが、それを実行時に指定してやらないとBabelは使ってくれない。
  
-実行毎にコマンドラインで指定もできるけど、面倒だし、後に残らなと忘れちゃう。''.babelrc''というファイルをプロジェクトのルートに作っておくと、設定を自動で読んでくれる。+コマンドラインで指定もできるけど、実行ごとにやるのは面倒だし、後のためどの設定で実行したかはしておきたい。''.babelrc''というファイルをプロジェクトのルートに作っておくと、設定を自動で読んでくれる。
  
 json形式。多分、各プリセットのページに行けば指定方法が書いてあるので、そのまま列挙すればいいと思う(適当) json形式。多分、各プリセットのページに行けば指定方法が書いてあるので、そのまま列挙すればいいと思う(適当)
行 112: 行 114:
 実はNode.js自体にもファイル監視するパッケージはある。だが、せっかくPhpStorm使ってるなら、File Watchers を使った方が楽と思う。 実はNode.js自体にもファイル監視するパッケージはある。だが、せっかくPhpStorm使ってるなら、File Watchers を使った方が楽と思う。
  
-  * jsの変換もcssの変換も、設定が統一的な方法で使える +  * jsの変換もcssの変換も、監視ツールの使い方を調べる必要なく、統一的な設定方法で使える 
-  * 起動終了IDEと同期できる+  * 起動終了を意識せずともIDEと同期できる
  
 ====設定方法==== ====設定方法====
software/intellij/phpstorm/file_watcher/babel.txt · 最終更新: 2019/04/11 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0