diff --git a/server.js b/server.js index 0d71b86..e34dd3b 100644 --- a/server.js +++ b/server.js @@ -2,10 +2,17 @@ var express = require('express'); var app = express(); var webpack = require('webpack'); var WebpackDevServer = require('webpack-dev-server'); -var config = require('./webpack.config'); +var buildConfig = require('./webpack.config') + + +var host = 'react-koans-etherealite.c9users.io'; +var webpackPort = 8081; +var webpackHostname= `${host}:${webpackPort}`; +var config = buildConfig(webpackHostname); + app.get('/app.js', function (req, res) { - res.redirect('//localhost:9090/build/app.js'); + res.redirect(`//${webpackHostname}/build/app.js`); }); app.get('/', function (req, res) { @@ -19,7 +26,7 @@ new WebpackDevServer(webpack(config), { hot: true, noInfo: true, historyApiFallback: true - }).listen(9090, 'localhost', function (err, result) { + }).listen(webpackPort, process.env.IP, function (err, result) { if (err) { console.log(err); } diff --git a/webpack.config.js b/webpack.config.js index cd0d77b..50de477 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,32 +1,33 @@ var webpack = require('webpack'); var path = require('path'); -module.exports = { - - entry: [ - 'webpack-dev-server/client?http://localhost:9090', - 'webpack/hot/only-dev-server', - './exercises/main' - ], - - output: { - path: __dirname + '/build/', - filename: 'app.js', - publicPath: 'http://localhost:9090/build/' - }, - - module: { - loaders: [ - { test: path.join(__dirname, 'exercises'), loaders: ['react-hot', 'babel-loader']} +module.exports = function(hostname) { + return { + entry: [ + 'webpack-dev-server/client?' + `http://${hostname}`, + 'webpack/hot/only-dev-server', + './exercises/main' + ], + + output: { + path: __dirname + '/build/', + filename: 'app.js', + publicPath: 'http://' + hostname + '/build/', + }, + + module: { + loaders: [ + { test: path.join(__dirname, 'exercises'), loaders: ['react-hot', 'babel-loader']} + ] + }, + + resolve: { + extensions: ['', '.js', '.jsx'] + }, + + plugins: [ + new webpack.HotModuleReplacementPlugin(), + new webpack.NoErrorsPlugin() ] - }, - - resolve: { - extensions: ['', '.js', '.jsx'] - }, - - plugins: [ - new webpack.HotModuleReplacementPlugin(), - new webpack.NoErrorsPlugin() - ] -} + } +} \ No newline at end of file