2017-01-13 1 views
1

Ich bin dabei, ein gemeinsames Winkelmodul zu schreiben, das als Plug-and-Play-Modul in meiner Anwendung verwendet werden kann.Ist es in Ordnung, mehrere Angular-Komponenten in einer einzigen Datei zu schreiben?

Was ich will

Ich möchte die Moduldefinition setzen und alle seine Fabrik, Richtlinie, Konstanten in einer einzigen js-Datei Beispiel:

angular.module('commonModule', []) 
.factory(...) 
.directive(...) 
.constant(...) 

Warum denn

Immer wenn ein Entwickler mein Modul benutzen will, muss er/sie nur eine einzige js Datei aufrufen und muss nur mein Modul in sein Modul injizieren.

Was ist mein Problem

ich die John papa's Angular 1 good practice style guide gelesen haben, ihm gesagt, dass es gut ist, eine einzelne Komponente in einer Datei zu definieren, aber hier habe ich das Gegenteil, so tue, was soll ich tun?

+0

Veröffentlichen Sie dies als ein Paket? Die Ein-Datei-Empfehlung ist für, wenn Sie irgendeine Art von Builder wie Webpack oder Schluck etc. haben, wenn dies in ein anderes Projekt aufgenommen werden soll, dann ja. Verketten. – Phix

+0

Behalten Sie sie in separaten Dateien gemäß der Styleguide, wenn Sie das Modul entwickeln. Haben Sie darüber nachgedacht, das Modul möglicherweise in einer einzigen Datei zu bündeln? –

+0

@_phix Ich werde das Modul nicht veröffentlichen, es wird nur für ein einzelnes Projekt verwendet. Und ich benutze keinen Builder, wir werden einfach den Code mit dem Schluck komprimieren. –

Antwort

1

Getrennt. Nur so und nicht anders.

Komponenten getrennt zu halten ist eine der besten Praktiken in der Programmierwelt. Egal, ob Sie im Moment nur wenige Codezeilen haben, der spätere Code wird zunehmen. Wenn Sie dies von Anfang an tun, kultivieren Sie eine alphabetisierte Programmierdisziplin. Schlechte Praxis, um einige Ausnahmen in den Regeln zu finden, wie "Wenn ich einige Zeilen Code habe, kann ich alle Komponenten meiner App in einer einzigen Datei schreiben". Es macht Regeln und die Möglichkeit, ihnen zu folgen, komplizierter.

Immer wenn ein Entwickler möchte mein Modul verwenden, er/sie brauchen nur eine einzelne js Datei aufrufen und müssen nur mein Modul in ihrem Modul injizieren.

Korrekt. Für den Verbraucher ist es sehr praktisch, nur eine einzige Datei in sein Projekt aufzunehmen. Aber es ist schlecht für die Codepflege. Verwenden Sie einfach einen JS-Bundler, um alle Abhängigkeiten in einer Ergebnisdatei zu verketten, damit die Konsumenten sie einfach in ihr Modul einfügen können.

Verwandte Themen