2015-10-28 7 views
53

enter image description hereWebpack-देव-सर्वर एक निर्देशिका सूची के बजाय एप्लिकेशन पेज

मैं केवल /public के तहत वास्तविक एप्लिकेशन देख सकता है कार्य करता है।

webpack.config.js में कॉन्फ़िगरेशन में नीचे हैं:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 

    entry: [ 
    'webpack-dev-server/client?http://localhost:8080', 
    'webpack/hot/only-dev-server', 
    './app/js/App.js' 
], 

    output: { 
    path: path.join(__dirname, 'public'), 
    filename: 'bundle.js', 
    publicPath: 'http://localhost:8080' 
    }, 

    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     loaders: ['react-hot', 'babel-loader'], 
     exclude: /node_modules/ 
     } 
    ] 
    }, 

    plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin() 
    ] 

}; 

परियोजना पदानुक्रम है:

  • एप्लिकेशन

    • js
  • node_modules

  • सार्वजनिक

    • सीएसएस

    • img

    bundle.js

    index.html

  • package.json

  • webpack.config.js

कैसे मुझे यकीन है कि http://localhost:8080/ प्रवेश आवेदन से प्रति के लिए है बनाने के लिए संशोधित कर सकते हैं?

उत्तर

49

यदि आप वेबपैक के देव सर्वर का उपयोग कर रहे हैं तो आप बेस निर्देशिका के रूप में /public का उपयोग करने के लिए विकल्पों में जा सकते हैं।

devServer: { 
    publicPath: "/", 
    contentBase: "./public", 
    hot: true 
}, 

webpack configuration docs, और विशेष रूप से अधिक विकल्प और सामान्य जानकारी के लिए webpack dev server docs देखें।

+0

यह काम करता है! धन्यवाद! मैं अभी दस्तावेज़ों में गोता लगा दूंगा। –

+1

इस उत्तर के लिए धन्यवाद, यह मुझे unstuck मिल गया। दोनों दस्तावेजों के लिंक पोस्ट करने के लिए भी धन्यवाद। –

+1

वेबपैक 2 के बारे में क्या? मैंने दस्तावेज़ पढ़े और इसे खुद को समझ नहीं पाया। – mightyiam

13

आप अपनी स्टार्ट-अप स्क्रिप्ट में --content-base ध्वज भी जोड़ सकते हैं, उदा।

"scripts": { 
     "start:dev": "webpack-dev-server --inline --content-base ./public" 
    } 
+1

धन्यवाद दोस्त! : डी – Ash

2

मेरे मामले में, मैं 'index.html' जब मैं HTMLWebpackPlugin की स्थापना की गलत वर्तनी। यदि आप इस प्लगइन का उपयोग कर रहे हैं तो अपने फ़ाइल नामों को दो बार जांचें।

var HTMLWebpackPlugin = require('html-webpack-plugin'); 
var HTMLWebpackPluginConfig = new HTMLWebpackPlugin({ 
    template: __dirname + '/app/index.html', 
    filename: 'index.html', 
    inject: 'body' 
}); 
+0

मुझे एक ही समस्या हो रही थी, मेरी index.html फ़ाइल गलत वर्तनी, बहुत बहुत धन्यवाद ... –

संबंधित मुद्दे