2015-07-02 2 views
6

Per utilizzare un modulo che desidero integrare nella mia applicazione (sviluppo locale), devo fare due cose:
1) Eseguire la mia applicazione localmente su HTTPS.
2) Eseguire l'applicazione con un dominio specifico.Configurare il webpack per l'esecuzione locale su un dominio personalizzato tramite HTTPS

Entrambe queste cose dovrebbero essere abbastanza semplici con il server di sviluppo Webpack che sto usando per lo sviluppo locale, ma per qualche motivo non funziona come suggerisce la documentazione.

Il mio file webpack.config è:

module.exports = { 
    entry: './app/js/app.js', 
    output: { 
    path:'./app/js/', 
    publicPath: 'https://specialurl.com/assets', 
    filename:'bundle.js' 
} 

Il sentiero che indico è stato aggiunto al file Hosts sul mio computer, quindi dovrebbe essere altrettanto valida come predefinito localhost.

E il mio file package.json ha questo come è script di avvio del server dev:

"scripts": { 
"start": "webpack-dev-server --progress --colors --https", 
} 

ho fatto questi cambiamenti e poi ho riavviato con partenza NPM dopo il salvataggio. Il problema è che il server non è ancora in esecuzione su https e quando indico il mio browser al nuovo collegamento, non mostra nulla. Tutta la documentazione che ho trovato fa sembrare che questo dovrebbe funzionare, quindi mi manca qualcosa di ovvio.

+0

Perché non basta mettere un server nginx davanti al webpack, configurarlo con certs e modificare il file hosts per puntare il dominio su nginx? – ssube

+0

Perché sembra che il webpack abbia tutte le funzionalità necessarie, quindi mi piacerebbe mantenere le cose snellite se possibile. Se non ti sembra una buona idea provare :) – pmcote

+0

Solo dicendo - questo è abbastanza facile con un server Node, che preferisco anche in fase di sviluppo, perché è più scalabile e flessibile –

risposta

11

Risolto! È stato molto facile farlo con Webpack come mi aspettavo, ma la documentazione è un po 'confusa.

È sufficiente modificare il file host per contenere il dominio che si desidera, e quindi aggiungere il seguente codice al webpack.config:

devServer: { 
    host: "localhost.specialurl.com", 
    port: 1234, 
    https: true 
}, 

Run npm start e puntare il browser su https://localhost.specialurl.com:1234/webpack-dev-server e si dovrebbe essere tutto a posto :)

+5

la fortuna che questo funzioni con 'hot: true'? l'app funziona sul dominio personalizzato ma webpack continua a cercare di aprire una connessione socket.io a localhost: 3000. – Sander

+3

come hai modificato il tuo file hosts? '127.0.0.1 localhost.specialurl.com'? – okwme

Problemi correlati