2015-08-05 4 views
12

Ich möchte den Webpack-dev-Server verwenden, um mehrere Einstiegspunkte an einem PORT hosten. Meine aktuelle Konfiguration ist unten:Wie benutze ich webpack-dev-server mehrere Einträge Punkt

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', 
}, 

Aber scheint wie es für mich jetzt nicht funktioniert. Irgendeine Hilfe?

+0

Ich suche nach der gleichen Sache. Etwas Glück? –

+0

In diesem Moment habe ich daran gearbeitet, indem ich eine Shaed-Datei "webpack.base.config" erstellt habe und für jeden Einstiegspunkt ein 'webpack. [Irgendein Eintrag] .config ', das die Basiskonfiguration von' webpack.base' verwendet. Konfiguration ". Nicht ideal, aber funktioniert gut. – haohcraft

+0

Hört sich jetzt sehr gut an. Ich werde es versuchen. –

Antwort

4

Dies ist ein Beispiel für eine funktionierende Webpack-Konfiguration mit mehreren Einsprungpunkten. Lass es mich wissen, wenn es hilft. Ich benutze webpack.optimize.CommonsChunkPlugin('common.js'),, um eine common.js Datei mit den gemeinsamen js Teile automatisch zu generieren.

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

ist 'webpack.DefinePlugin' notwendig? – Muhaimin