私たちのJavaScriptアーキテクチャを近代化したいと思います。さらに重要なのは、JavaScriptコードの単体テストを書くことです。javascript:require()モジュールへのグローバルオブジェクトのリファクタリング
私はさまざまな質問/ブログから情報をつなぎとめており、暫定的な計画を立てています。しかし、私が正しい軌道にいるかどうかは確かではありません。エクスポートされたモジュールの代わりにグローバルオブジェクトとして
- リファクタリング成分:
計画。
- にすべてのファイル/コンポーネントが必要なエントリポイント(index.js?)を作成します()。
- ユーザーブラウザ対応の静的ファイルを作成するためにブラウジングします(グローバルに戻る)。
- node、mocha、&チャイを使用して、npmテストを実行して、エクスポート可能なコンポーネントを参照するテストを実行します。
リファクタリング:
グローバルオブジェクト:
// myProject.js
// --------------------
var MyProject = {};
// component1.js
// --------------------
myProject.component1 = {};
は、(必要とする)モジュール:
// myProject.js
// --------------------
var component1 = require('./component1');
modules.export = { component1 };
// component1.js
// --------------------
var component1 = {};
modules.exports = component1;
質問:
プロジェクトがグローバルオブジェクトを使用している場合名前空間コンポーネント、これらのJavaSをどのようにリファクタリングできるかノードで動作するモジュールをエクスポートするためのcriptファイル?上記の計画はJavaScriptの依存関係/モジュールの最新の標準に従っていますか?
私の主な関心事は、index.js(またはメインエントリ)ファイルがメンテナンスの悪夢になることです(すべての新しいファイルをrequire()として追加します)。
あなたの 'index.js'は、(トップレベルのコンポーネントのような)コアのエントリーポイントしか必要としません。他のファイルは間接的に必要となります。 – SLaks
それは、それを指摘してくれてありがとう、たくさんの意味があります。 require()を初めて使うことで、私はすべての要素を沸騰させることに頼ることさえできませんでした。ありがとうございましたx1000 – veratti