2015-08-05 20 views
12

Vorrei utilizzare il webpack-dev-server per ospitare più punti di ingresso su una PORTA. La mia configurazione attuale è la seguente:Come utilizzare webpack-dev-server più voci punto

entry: { 
    //Application specific code. 
    main: [ 
     `webpack-dev-server/client?http://${config.HOST}:${config.PORT}`, 
     'webpack/hot/only-dev-server', 
     './app/base.js', 
     './app/main.js' 
    ], 

    login: [ 
     `webpack-dev-server/client?http://${config.HOST}:${config.PORT}`, 
     'webpack/hot/only-dev-server', 
     './app/base.js', 
     './app/login.js' 
    ], 
}, 
output: { 
    path: assetsPath, 
    publicPath: `http://${config.HOST}:${config.PORT}/public/dist/`, 
    chunkFilename: "[name].js", 
    filename: '[name].js', 
}, 

Ma sembra che non funzioni per me adesso. Qualsiasi aiuto?

+0

Sto cercando la stessa cosa. Qualche fortuna? –

+0

In questo momento, ho lavorato attorno creando un 'webpack.base.config' shady e per ogni entry point c'è un' webpack. [Some entry] .config 'che userà la configurazione di base da 'webpack.base. config'. Non ideale, ma funziona bene. – haohcraft

+0

Suona un'ottima soluzione ormai. Ci proverò. –

risposta

4

Questo è un esempio di una configurazione di lavoro del punto di accesso multiplo funzionante. Fatemi sapere se aiuta. Io uso webpack.optimize.CommonsChunkPlugin('common.js'), per generare automaticamente un file common.js con le parti comuni di js.

var path = require('path'); 
var webpack = require('webpack'); 
var WebpackErrorNotificationPlugin = require('webpack-error-notification') 


var buildEntryPoint = function(entryPoint){ 
    return [ 
    'webpack-dev-server/client?http://localhost:3000', 
    'webpack/hot/only-dev-server', 
    entryPoint 
    ] 
} 

module.exports = { 
    devtool: 'eval', 
    entry: { 
    search: buildEntryPoint('./src/index'), 
    generic: buildEntryPoint('./src/index-generic') 
    }, 
    output: { 
    path: path.join(__dirname, 'dist'), 
    filename: '[name].js', 
    publicPath: '/static/' 
    }, 
    plugins: [ 
    new webpack.optimize.CommonsChunkPlugin('common.js'), 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.DefinePlugin({ 
     __CLIENT__: true, 
     __SERVER__: false, 
     __DEV__: true, 
     __DEVTOOLS__: true // <-- Toggle redux-devtools 
    }) 
    ], 
    resolve: { 
    alias: { 
     'redbox-react': path.join(__dirname, '..', '..', 'src') 
    }, 
    extensions: ['', '.js'] 
    }, 
    module: { 
    loaders: [{ 
     test: /\.js$/, 
     loaders: ['react-hot', 'babel'], 
     include: path.join(__dirname, 'src') 
    }] 
    } 
}; 
+0

è necessario 'webpack.DefinePlugin'? – Muhaimin

Problemi correlati