Vue.js 1.0.0 リリースしました
Oct 26, 2015
こんにちは HN ! Vue.js に精通していない場合は、より高い概要について、このブログ記事を読みたいかもしれません。
300 以上のコミットの後に、8 つのアルファ (alpha) バージョン 、4 つのベータ (beta) バージョン 、そして 2 つのリリース候補(RC)バージョン、今日、私は Vue.js 1.0.0 エヴァンゲリオン (Evangelion)のリリースを発表するのをとても誇りに思っています!それはコミュニティから全てのフィードバックなしには不可能でした。API の再設計プロセスに参加した全ての人びとに感謝します。
テンプレート構文を改善しました
1.0 のテンプレート構文は、多くの微妙な整合性の問題を解決し、Vue のテンプレートをより簡潔で一般的に読みやすくなります。最も注目すべき新機能は、v-on
と v-bind
に対する省略記法構文です:
<!-- v-bind:href の省略 --> |
子コンポーネントで使用したとき、カスタムイベントに対する v-on
リッスン、そして v-bind
は props をバインドするために使用することができます。省略記法を子コンポーネントで使用することでとても簡潔になります:
<item-list |
API を整理しました
Vue.js 1.0 の全体的なゴールは、大規模プロジェクトに適合することです。これは多くの非推奨な API がある理由です。ほとんど使用されているものを除き、非推奨のために最も一般的な理由は、その機能が保守性の損害パターンの結果につながるということです、具体的には、私達が非推奨になる機能を維持するのと、プロジェクトの他の部分に影響を与えることなく、単独でコンポーネントをリファクタリングするのが難しいです。
例えば、0.12 でのデフォルトアセットの解決は、コンポーネントツリーで親に暗黙的なフォールバックがあります。これは決定論的ではないコンポーネントを利用可能なアセットと、実行時に使用される題目を作ります。1.0 では、全てのアセットは厳密なモード (strict mode) で解決され、そして親への暗黙的なフォールバックはもはやありません。inherit
オプションは、それはとにかく密結合されたコンポーネントにつながり、リファクタリングするのが難しいため、削除されます。
迅速な初期レンダリング
1.0 は古い v-repeat
ディレクティブを v-for
で置き換えます。同じ機能でそしてより直感的なスコープを提供することに加えて、v-for
は大きいリストやテーブルをレンダリングするとき、初期レンダリングのパフォーマンス向上を 100% 提供します!
より強力なツール
Vue.js のコア以外でエキサイティングなものがあります。vue-loader と vueify は以下を含む主要なアップグレードがあります:
ホットコンポーネントローディング。
*.vue
コンポーネントが編集されるとき、アクティブなインスタンスの全てはページの再読み込みなしでホットに交換されます。これは小さな変更をするときは、例えば、スタイルやテンプレートを調整するとき、あなたのアプリケーションは完全にリロードする必要はありません。アプリケーションの状態が交換されたコンポーネントは、保存することができ、大幅に開発体験を改善できます。Scoped CSS 。単にあなたの
*.vue
コンポーネントの style タグにscoped
属性を追加することにより、コンポーネントのテンプレートそして最終で生成された CSS は、それ自身の要素にだけ適用されたコンポーネントのスタイルを確保するために魔法的に書き換えられます。最も重要なことは、親コンポーネントで指定されたスタイルは、その中でネストされた子コンポーネントに漏れ落ちません。デフォルト ES2015 。JavaScript は進化しています。最新の構文を使用して、よりクリーンで表現に富んだコードを書くことができます。
vue-loader
とvueify
は、余分なセットアップを必要とせず、形にとらわれないあなたの*.vue
コンポーネントで JavaScript にトランスパイルします。今日から未来の JavaScript を書きましょう!
vue-router と組み合わせると、Vue.js はライブラリ以上です。それは、複雑な SPA を構築するための頑固な基盤を提供します。
次は何をしますか?
1.0.0 の一般的な提案として、コア API は近い将来に対して安定版のままで、ライブラリは本番環境で使用するために準備されています。今後の開発は以下に焦点を当てます:
vue-router
の改善とそれの本番環境向けへの準備開発体験の効率化。例えば、よりよい開発ツールと Vue.js プロジェクトとコンポーネントの scaffolding 向けの CLI
チュートリアルのようなより学習リソースの提供と例