2016-09-24 1 views
1

Ich baue mein erstes Knotenmodul. Im Modul befindet sich eine Demo-Anwendung. Die Demo ist nur während der Entwicklung nützlich. Wo setzen wir die Abhängigkeiten der Demo?Wo speichern wir die Demo-App-Abhängigkeiten beim Bau eines Moduls?

Die erste Antwort, die in den Sinn kommt, ist sie in devDependencies zu setzen, weil sie nur während der Entwicklung nützlich sind. Das heißt, normalerweise reserviere ich devDependencies für Build-Tools nicht für Module, die die (Demo) App ausführen.

Die Frage ist also, bei der Entwicklung eines Moduls, das eine eigene Demo-App enthält, wo setzt man die Abhängigkeiten der Demo-App?

  • dependencies?
  • devDependencies?
  • someWhereElse?

Dies ist das Modul: https://github.com/shaunluttin/aurelia-open-id-connect

Hier ist ein High-Level-Diagramm der Abhängigkeiten in meinem Modul. Die Standorte in () basieren auf der Antwort von Pranesh.

demo 
    third-party-modules (optionalDependencies) 
    my-module 
    third-party-modules (dependencies) 

Wenn jemand unser Modul installiert wird, wollen wir sie nur nach unten my-module/third-party-modules zu ziehen. Wenn jemand unseren Repo klont, wollen wir, dass er auch demo/third-party-modules herunterzieht.

Antwort

1

In den meisten Fällen hängen Demo-Apps von dem Modul ab, das Sie erstellen, aurelia-open-id-connect in Ihrem Fall. Wenn Sie andere Abhängigkeiten für die Demo-App als Ihr Modul haben, sollte es unter optionalDependencies fallen.

Siehe this

Diese Module mit -O Option installiert werden soll. Beispiel, npm i express -O

+0

Ich habe Probleme zu verstehen, wie die Demo-App Abhängigkeit von dem Modul selbst sein wird. Zum Beispiel, hier ist meine Modulstruktur: https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/src. Das Modul befindet sich in 'src/open-id-connect /' und die Demo-App ist alles andere in 'src /'. Bei der Veröffentlichung des Moduls enthält das 'dist' nur den Inhalt von' src/open-id-connect': https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/dist/amd Strukturiere ich meine Demo-App auf unkonventionelle Weise? –

+1

Beispiele sind nicht die Abhängigkeiten, sie hängen ** vom Modul ab. Werfen Sie einen Blick auf https://github.com/expressjs/express/blob/master/examples/auth/index.js#L5. Diese Beispiele sind abhängig vom Modul (Express) –

+0

Okay. Das macht für mich Sinn, dass das Demo keine Abhängigkeit ist. Das ist klar. Die Demo hat jedoch ihre eigenen Abhängigkeiten, und was ich mich wundere, ist, wo diese zu speichern sind. –

Verwandte Themen