Ho avuto problemi a trovare documentazione ed esempi di Webpack sufficienti per eseguire l'hash di un flusso di lavoro di sviluppo ideale per la mia situazione. Ecco tutte le caratteristiche che renderebbero ideale il flusso di lavoro:Flusso di lavoro del pacchetto Web che suddivide in modo efficiente il fornitore e il codice dell'app
Visione, idealmente tramite Gulp, con efficiente caching. (Non credo di aver bisogno della sostituzione di moduli caldi e sospetto che potrebbe non adattarsi bene al mio ambiente di sviluppo.)
Moduli del fornitore (al momento ho solo pacchetti npm, non tutti espongono i globi UMD nel loro file principale , se si è arrivati a quello) che sono
a. non analizzato & ricompilati durante l'orologio (quindi la ricompilazione è più veloce),
b. non ricevere una mappa del sourc (in modo che gli sviluppatori del browser siano più veloci a rispondere) e
c. scrivere in un bundle distinto
vendor.js
che i browser possono memorizzare nella cache separatamente dai pacchetti di app.moduli App che sono
a. esplicito su tutte le dipendenze (ad es.
import React from 'react';
anche se React è effettivamente esposto globalmente o qualcosa via # 2),b. sono ricompilati durante l'orologio e
c. do riceve un sourcemap.
La maggior parte di ciò che ho letto nella documentazione o negli esempi non sembra aver colpito questo flusso di lavoro in testa.
Mentre vedo nei documenti come creare un pacchetto specifico del fornitore (riprodotto qui: Simple solution to share modules loaded via NPM across multiple Browserify or Webpack bundles), il semplice esempio fornito non indirizza 2a e 2b.
Non vedo nei documenti alcun modo per specificare diverse configurazioni di compilazione (sourcemaps, ecc.) Per diversi blocchi, o per creare bundle Webpack completamente separati con file di configurazione separati che possono fare riferimento l'un l'altro, a meno che non si globalizzi tutte le librerie dei fornitori e utilizzarle come esterni (?), che non è l'ideale ...
Inoltre, sono curioso che gli utenti di Gulp utilizzino lo standard gulp-webpack
o invece un'impostazione simile a quella fornita in http://webpack.github.io/docs/usage-with-gulp.html. (Non sono sicuro che il webpack-dev-server
si adatti al mio ambiente di sviluppo, quindi vorrei attenermi a gulp-watch
se possibile.)
Mi manca qualcosa che altri utenti di Webpack conoscono? Qual'è il miglior modo per farlo?
O è possibile che Webpack non sia lo strumento giusto per il lavoro?
Hai suggerimenti per i punti importanti - grazie. L'unica parte che mi dà fastidio, una risposta che ho visto molto da altri utenti di Webpack, è il terso "Usa webpack-dev-server". Gulp mi sembra uno strumento molto più flessibile e robusto per l'esecuzione di attività, la creazione, la visione e così via, oltre al Webpack, quindi lo sto rispettando. Penso che uno svantaggio serio di Webpack è che vuole creare un altro "ecosistema" invece di integrarsi bene con ciò che già esiste. Grazie ancora. – davidtheclark
@davidtheclark Gulp è solo un task runner. Dovresti almeno dare una prova a 'webpack-dev-server', usa la modalità di visualizzazione di Webpack che significa ricostruzioni incrementali veloci. C'è un grave svantaggio nel cercare di replicare questo comportamento con Gulp e gulp-watch perché non possono dire a Webpack quali moduli sono stati modificati.Inoltre ti mancherà il ricaricamento dei moduli caldi (anche se come hai detto tu non è una priorità per te). Tuttavia, il server di sviluppo Webpack è semplice da racchiudere in un task Gulp. –
"Gulp mi sembra uno strumento molto più flessibile e robusto per l'esecuzione di attività, la costruzione, la sorveglianza". Non penso sia un paragone giusto. Uno è un runner di attività generico, un altro è un bundler JS. Risolvono diversi problemi e possono lavorare insieme. –