La domanda è piuttosto semplice: esiste un modo per pubblicare due diversi moduli NPM nel registro npmjs da un singolo progetto nodejs?Come pubblicare più moduli NPM da un progetto a nodo singolo?
Ma per quelli di voi che si chiedono perché diavolo qualcuno vorrebbe farlo? ... la motivazione alla base di questa domanda potrebbe non essere troppo ovvia. Quindi permettimi di spiegare:
Io uso qualcosa di simile a un server delle app chiamato loopback. E la mia app nodejs è distribuita ordinatamente in cartelle client, comuni e server.
ho spesso bisogno di riutilizzare i modelli nella mia cartella
common
attraverso altri progetti come bene. E anche se posso pubblicare solo quella cartella come modulo NPM separata utilizzando.npmignore
per rimuovere le altre cose:/* /common/utils /common/models/*.js !/common/models/*.json
non posso rimuovere l'ammasso dal mio attuale
package.json
, che è necessario per eseguire in realtà la mia applicazione, da quello che ha stato pubblicato$ npm pack $ tree -L 2 ~/dev/w2/node_modules/warehouse ~/dev/w2/node_modules/warehouse ├── README.md ├── common │ └── models ├── node_modules │ ├── ... │ └── ... └── package.json
Allo stato attuale, ho filtrato tutto tranne la mia cartellacommon/models
ma dal momento che non sono sicuro di come modificare dinamicamente il file package.json prima di imballarlo o come parte dell'imballaggio ... unonpm install
inserirà il dipendenze che in realtà non sono richieste.Non sono elettrizzato all'idea di creare un progetto separato solo con modelli in esso che mi costringono ad aggiungerlo come dipendenza dal progetto principale e lo sviluppo attivo viene suddiviso in 2 progetti in cui era solo uno.
npm link
ecc. È un buon approccio per aggirarlo ma aggiunge complessità alla configurazione dello sviluppatore quando si creano nuove persone e ci si assicura che nessuno controlli la cosa sbagliata.
Quindi esiste un modo per pubblicare due diversi moduli NPM nel registro npmjs da un singolo progetto nodejs? O un modo per usare diversi file package.json per una pubblicazione separata ma tutti da un progetto?
Aggiornamento: qual è il mio obiettivo?
Per riutilizzare i modelli dal mio progetto principale, attraverso altri progetti, pubblicandoli come modulo NPM. SENZA rinunciare alla comodità di continuare a sviluppare il mio progetto di base come UNICA entità atomica senza npm link
ecc. Che diventa fastidioso quando più di una sola persona ci sta lavorando.
"E anche se mi piacerebbe pubblicare solo quella cartella come un modulo NPM separato"> ottimo "... usando .npmignore per rimuovere le altre cose ..." ... eh? Non puoi separarlo * fuori * dall'app e usarlo come un modulo nella tua app come richiesto ('comune')? Forse potresti pubblicare un codice minimale come package.json e la struttura del tuo file per dare un'idea migliore della tua situazione. – laggingreflex
@laggingreflex - ha aggiornato la lingua ... come per "separarlo dall'app" ... come faccio notare nel punto 2, sto facendo questa domanda quindi non devo farlo, sono cercando di spingere la busta qui un po '. – pulkitsinghal
Vorrei che la gente mi aiutasse fornendo un motivo per fare downvoting oltre a lasciarmi solo indovinare. – pulkitsinghal