Symlinking node_modules alla cartella delle risorse statiche pubbliche per lo sviluppo web [chiuso]

1

Ho quello che penso sia una soluzione abbastanza decente, mi chiedo solo se qualcuno può vedere un problema con esso.

Stavamo usando Bower negli ultimi 18 mesi, ma stiamo trasferendo le nostre risorse statiche pubbliche su NPM e CDN.

Il nostro server Node.js Express è configurato per le risorse statiche del server in questo modo:

 app.use(express.static(path.join(__dirname, 'public')));

Per servire i file da node_modules, e per evitare di cambiare molto codice, ho provato semplicemente a collegare i node_modules alla nostra directory pubblica, come parte della nostra routine postinstall. Quindi sembra questo:

project_root/
  node_modules/
  public/
    static/
       .gitkeep
       node_modules/ # symlinked directory

sembra funzionare bene, e Express può funzionare bene con le directory collegate apparentemente. Ecco il codice bash pertinente nella nostra routine postinstall:

# symlink node_modules to public directory
rm -rf "${postinstall_pwd}/public/static/*"
rm -rf "${postinstall_pwd}/public/static/node_modules"
mkdir -p "${postinstall_pwd}/public/static"
ln -s "${postinstall_pwd}/node_modules" "${postinstall_pwd}/public/static"

Utilizziamo AngularJS e al momento non stiamo utilizzando una build di produzione in bundle. Ma per lo sviluppo, per l'utilizzo di strumenti di vecchia scuola come AngularJS, RequireJS, ecc, avremmo bisogno di una buona soluzione e questo symlinking di node_modules sembra funzionare. Dubito che tu possa fare questo:

app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'node_modules')));

ma forse potresti usare due directory per le risorse statiche? Qualcuno sa se funziona bene?

La mia domanda è: qualcuno vede un problema con esso da qualsiasi punto di vista?

    
posta Olegzandr Denman 20.11.2017 - 21:50
fonte

0 risposte

Leggi altre domande sui tag