天猫のフロントエンドコードモジュールの開発と導入方案
1960 ワード
開発時と導入時、クラスライブラリの参照と保存は一致しているように見えますが、背後には異なります.
天猫は業務がモジュールのオンライン構築に対する需要が比較的に強いため、大部分のシーンの下でローカルパッケージを歩くことができなくて、すべてCDNのモジュールに保存します.
ローカル開発の場合、ファイルhostはローカルを指し、参照するモジュールはサービス側からローカルに引き寄せられます(次回の読み取り速度を向上させ、この部分の作業はローカル開発serverで完了します)が、参照の仕方はオンラインと同じです.
ローカル開発時:
const overly = require('mui/overlay/index');
オンラインにパッケージ
define('xxx', ['mui/overlay/index'], function(require){
var overly = require('mui/overlay/index');
}
リクエストモジュールのurlはすべて
http://g.alicdn.com/mui/overlay/4.0.0/index.js
内部依存モジュールはプロジェクトに、共通モジュールはCDNを配置します.
実はこのように説明するのは抽象的ですが、開発者にも十分な自由を与えました.
今はこの問題について議論することはないようだ.
ローカル開発環境は、サービス側アーキテクチャと一致することが望ましい.現在、サービス側はノードであり、ローカルもノードであるに違いない.
最も理想的な場合、デザイナーはフロントエンドと一緒にモジュールUI仕様を維持するのに多くの時間を費やし、デザイナーがページを設計する際にも、このモジュールUI仕様に基づいていなければならない.
すべてのパーソナライズされた調整は、UI仕様に追加され、全体的な視覚的一貫性体験を保証するかどうかを考慮しなければならない.
もちろん、不適切なシーンや特殊なシーンでのビジュアル原稿は、単独で処理されます.
だから、デザイナーの原稿にモジュールを体現すべきで、先端に行ってどのモジュールと視覚原稿が一致するかを見るのではありません.
モジュールの場合、コミュニティスキームは素晴らしいに違いないので、既存の状況がない場合は、コミュニティモジュールを導入し、導入後に維持することをお勧めします.
後のメンテナンスは非常に重要で、1つのモジュールを導入するのは簡単で、メンテナンスはそうではありません.このコミュニティモジュールにはいくつかのバグがあるか、あるいは一部の需要を満たしていないことに気づくかもしれません.このモジュールを修正して改善するのは、1つのモジュールを書くよりも要求が高く、難易度が高いです(他の開発者がなぜコードを書くのか理解してください).完成した後にMRをコミュニティに提出するのもコミュニティへの貢献です.
自分で書く場合もありますが、もっと自分で書く意味がどこにあるかを考えなければなりません.一般的にコミュニティモジュールがあなたのモジュールに対する思考と計画に遅れているとき、自分で書くのは良い選択です.
作者:呉天豪
リンク:https://www.zhihu.com/question/20790576/answer/102228074
出典:知っている
著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.