2016-04-29 20 views
0

Ich kann webpack zum Laufen bringen und der Server verbindet, aber alles, was ich im Browser sehe, ist eine Nachricht, die nicht GET erhalten kann. Könnte jemand sehen, wenn sie sehen können, wo ich die Konfiguration vermassle. Alle meine Komponenten sind in einer Datei öffentlich genannt, so in Bezug auf die webpack.config.js Datei, wäre './ public'Ich kann React Hot Loader nicht herausfinden. Mein bundle.js ist gültig und mein Server verbindet, aber ich sehe eine Nachricht im Browser

webpack.config.js

var webpack = require('webpack'); 

module.exports = { 
    entry: [ 
    'script!jquery/dist/jquery.min.js', 
    'script!foundation-sites/dist/foundation.min.js', 
    'webpack-dev-server/client?http://0.0.0.0:3000', // WebpackDevServer host and port 
    'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors 
    './public/index.jsx' 
    ], 
    externals: { 
    jquery: 'jQuery' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.ProvidePlugin({ 
     '$': 'jquery', 
     'jQuery': 'jquery' 
    }) 
    ], 
    output: { 
    path: __dirname, 
    filename: './public/bundle.js', 
    publicPath: './public/' 
    }, 
    resolve: { 
    root: __dirname, 
    alias: { 
     App: 'public/components/App.jsx', 
     Home: 'public/components/Home.jsx', 
     Footer: 'public/components/Footer.jsx', 
     Inventory: 'public/components/Inventory.jsx', 
     Login: 'public/components/nav/Login.jsx', 
     Navbar: 'public/components/nav/Navbar.jsx', 
     ProductSearch: 'public/components/Product-Search.jsx', 
     SingleProduct: 'public/components/Single-Product.jsx', 
     Product: 'public/components/Product.jsx', 
     Signup: 'public/components/Signup.jsx', 
     LandingNavbar: 'public/components/nav/LandingNavbar.jsx', 
     ProductSearch: 'public/components/ProductSearch.jsx', 
     Examples: 'public/components/Examples.jsx', 
     Pricing: 'public/components/Pricing.jsx', 
     Profile: 'public/components/Profile.jsx', 
     Checkout: 'public/components/Checkout.jsx', 
     Receipt: 'public/components/Receipt.jsx', 
     RequireAuth: 'public/components/auth/require_auth.jsx', 
     Signout: 'public/components/Signout.jsx', 
     Tour: 'public/components/tour/Tour.jsx', 
     BusinessTypes: 'public/components/tour/BusinessTypes.jsx', 
     Customers: 'public/components/tour/Customers.jsx', 
     Features: 'public/components/tour/Features.jsx', 
     GettingStarted: 'public/components/tour/GettingStarted.jsx', 
     MultiStore: 'public/components/tour/MultiStore.jsx', 
     Support: 'public/components/tour/Support.jsx', 
     Actions: 'public/actions/index.js' 
    }, 
    extensions: ['', '.js', '.jsx'] 
    }, 
    module: { 
    loaders: [ 
     { 
     loaders: ['react-hot', 'babel?presets[]=es2015,presets[]=stage-0,presets[]=react'], 
     test: /\.jsx?$/, 
     exclude: /(node_modules|bower_components)/ 
     } 
    ] 
    } 
}; 

Server. js

const express = require('express'); 
const http = require('http'); 
const bodyParser = require('body-parser'); 
const morgan = require('morgan'); 
const app = express(); 
const router = require('./router'); 
const mongoose = require('mongoose'); 
const serverConfig = require('./config.js'); 
var webpack = require('webpack'); 
var WebpackDevServer = require('webpack-dev-server'); 
var config = require('./webpack.config'); 

// DB Setup for mlab 

mongoose.connect(serverConfig.database, function(err) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("Connected to the database"); 
    } 
}); 

// Connects to local database 

// mongoose.connect('mongodb://localhost:auth/auth'); 

// App Setup 

app.use(morgan('combined')); //logs incoming requests 

app.use(bodyParser.json({ type: '*/*' })); //parses incoming requests into JSON, '*/*' accepts any type of request 

app.use(express.static(__dirname + '/public')); //serves public folder containing front-end 

app.get('/', function (req, res) { 

    res.send(__dirname + '/public/index.html'); //serves index.html when home route is hit 

}); 

router(app); 

//Server Setup 


const port = process.env.PORT || 3000; 


// Webpack dev server below 

new WebpackDevServer(webpack(config), { 
    publicPath: config.output.publicPath, 
    hot: true, 
    historyApiFallback: true 
}).listen(port, 'localhost', function (err, result) { 
    if (err) { 
    return console.log(err); 
    } 

    console.log('Listening at http://localhost:3000/'); 
}); 

Antwort

0

Sie Ihre publicPath auf "http://0.0.0.0:3000/" zeigen sollte, da Sie dies durch einen Server ausgeführt werden.