In letzter Zeit haben wir uns über die http://patternlab.io/ -Anwendung für die Entwicklung verschiedener Arten von UI-Komponenten fasziniert. Es scheint eine wirklich nette und zugängliche Möglichkeit zu sein, neue Produkte zu entwickeln und die Wiederverwendung der UI-Komponenten zu erhöhen.Aufbau eines atomaren Design-Entwicklungs-Ökosystems in Javascript
Allerdings stecken wir jetzt fest in der Hölle und haben keine wirklich guten Ideen, wie wir es lösen können.
Problem:
[email protected]
├─┬ atoms
│ │ └── atom1
│ │ └── atom2
│ ├── molecules
│ │ └── molecule1 (depends on atom1 && atom2)
│ │ └── molecule2
│ ├── organisms
│ │ └── organism1 (depends of molecule1 & molecule2)
│ │ └── organism2
Wir verwenden browserify für unsere Pakete in CSS & ES5 transpiling. Wenn ich ein atom1
aktualisiere, muss ich molecule1
und organism1
neu kompilieren und es wird mühsam. Gibt es gute Praktiken, um ein überschaubares JavaScript-Ökosystem aufzubauen?
Struktur des Ökosystems:
FirstAtom: package.json
{
"name": "first-atom",
"main": "dist/js/index.min.js"
}
SecondAtom: package.json
{
"name": "second-atom",
"main": "dist/js/index.min.js"
}
CombinationOfTwoAtoms: package.json
{
"name": "combination-of-two-atoms",
"main": "dist/js/index.min.js"
"devDependencies": {
"first-atom": "file:../../atoms/first-atom/",
"second-atom": "file:../../atoms/second-atom/",
}
}
* "die manuelle Wiederherstellung jedes Pakets" * - was genau bedeutet das? Gibt es inhärente Komplexität bei der Verwaltung von Abhängigkeiten oder ist es nur eine Menge Arbeit, alles zu kompilieren? Kannst du das nicht automatisieren? Ist das deine Frage? – deceze
Ich habe die Beschreibung mit dem Bild der Hierarchie aktualisiert, die für Ihre Frage möglicherweise eine Antwort liefert. –