2015-08-05 16 views
12

Chciałbym użyć serwera webpack-dev-server do obsługi wielu punktów wejścia w jednym porcie. Moja aktualna konfiguracja znajduje się poniżej:Jak korzystać z wielu wpisów w webpack-dev-server point

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

Ale wygląda na to, że teraz nie działa dla mnie. Jakaś pomoc?

+0

Szukam tej samej rzeczy. Trochę szczęścia? –

+0

W tym momencie opracowałem go, tworząc shaed 'webpack.base.config' i dla każdego punktu wejścia znajduje się' webpack. [Jakiś wpis] .config ', który użyje konfiguracji podstawowej z 'webpack.base. config'. Nie idealny, ale działa dobrze. – haohcraft

+0

To już bardzo dobre rozwiązanie. Spróbuję tego. –

Odpowiedz

4

To jest przykład działającej konfiguracji z wieloma punktami dostępowymi. Daj mi znać, jeśli to pomoże. Używam webpack.optimize.CommonsChunkPlugin('common.js'), do automatycznego generowania pliku common.js z popularnymi częściami 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

jest "webpack.DefinePlugin" konieczne? – Muhaimin