ブラウザでの新しいEcmaScript 6標準のサポートはますます近づいています。新しいES6機能を使用して開発を開始したい人は、この目的のテンプレートプロジェクトを検討することをお勧めします。
github.com/DavidKlassen/es6-browser-boilerplate を 紹介 します 。
テンプレートはgithub.com/babel/babel-library-boilerplateに基づいていましたが、gulpfile.jsは完全にクリーンアップされ、簡素化されました。 依存関係の多くを削除し、ブラウザー用のアプリケーションの開発に必要な機能を残しました。
私が追求した主な目標:
- テンプレートは、SPAおよびサードパーティSDKの開発の出発点として適切です。
- ミニマリズムと拡張性。
- すべてのコード、つまり、アプリケーション自体とテストは、ES6で作成できます。
作業環境
作業環境の要件はかなり標準的であり、JavaScriptで開発している場合はすべてがインストールされている可能性が高いです。 NodeJSまたはio.js 、 NPM 、 Gulp 、
テンプレート機能
- ES6構文をサポートするために、 Babelコンパイラが使用されます。
- コード品質チェックは、 ESLintとJSCSの 2つのユーティリティによって提供されます。
- プロジェクトのビルドはbrowserifyとbabelifyを担当します。
- コードの縮小は、
Google Closure CompilerUglifyJS2によって行われます。 - 単体テストでは、 mocha 、 chai 、およびsinonを使用します。
- テストカバレッジレポートは、 istanbulとispartaを使用して生成されます。
- 統合テストはkarmaで実行されます。
- Gulpはランナータスクとして使用されます。
使い方
プロジェクトをダウンロードして作業用に準備するのは非常に簡単です。
$ git clone git@github.com:DavidKlassen/es6-browser-boilerplate.git $ cd es6-browser-boilerplate $ npm run setup
その後、.gitを削除してコーディングを開始できます。
利用可能なgulpタスクのリスト:
- gulp
gulp lint
-ESLintおよびJSCSを使用してコード品質チェックをgulp lint
ます。 -
gulp test:unit
単体テストを実行します。 -
gulp coverage
単体テストを実行し、テストを含むコードカバレッジに関するレポートを生成します。 -
gulp test:integration
カルマを使用してブラウザーで統合テストを実行します。 -
gulp test
すべてのテストを実行します。 -
gulp browserify
ブラウザーで使用できるスクリプトを作成します。 -
gulp compile
スクリプトの縮小バージョンをビルドします。 -
gulp build
両方のバージョンのスクリプトを収集します。 -
gulp
デフォルトタスク。コード検証、テスト、プロジェクトアセンブリを実行します。
改善したいこと
すべてのテストファイルのテストフレームワークをグローバルに接続するなどのささいなことや、gulpfileのマイナーな改善に加えて、ADVANCED_OPTIMIZATIONSモードでのGoogle Closure Compilerとgccアノテーションに基づく静的型分析を使用できるようにします。
そしてもちろん、フィードバック、提案、プルクエストを待っています。 ご清聴ありがとうございました! :)
UPD:コメントでは、開発者のマシンでのJavaの普及について論争があったので、投票を追加します。 マシンにjavaがあるかどうかわからない場合は、次を実行します:
java -version
UPD2:ワーカーのリクエストにより、Googleクロージャーコンパイラーをuglifyjsに置き換えました。