मेरे पास सरल मार्गों वाला एक ऐप है। जब मैं वेबपैक विकास सर्वर का उपयोग करता हूं तो यह ठीक काम करता है। अब, मैं इसे अपने उत्पादन सर्वर पर तैनात करना चाहता हूं। तो मैंने bundle.js बनाया। हालांकि, मुझे यकीन नहीं है कि सर्वर पर फ़ाइल की सेवा करने का सही तरीका क्या है।वेबपैक द्वारा निर्मित उत्पादन प्रतिक्रिया bundle.js की सेवा करने का सही तरीका क्या है?
अधिकांश ब्लॉग पोस्ट इमारत bundle.js में बंद हो या Heroku या nodejutsu करने के लिए इसे तैनात। अगर मैं इसे अपने सर्वर पर सेवा देना चाहता हूं तो मुझे क्या करना चाहिए?
मैं एक्सप्रेस सर्वर पर फ़ाइल की सेवा करने की कोशिश की, लेकिन मैं (यह वही मार्ग webpack-देव-सर्वर के साथ ठीक काम करता है) ब्राउज़र में इस त्रुटि हो रही है।
http://localhost:3000/app
नहीं मिल सकता/एप्लिकेशन
मैं इस तरह सरल मार्ग है। लैंडिंग पृष्ठ पर/ठीक काम करता है, लेकिन मैं एक्सेस नहीं कर सकता/एप रूट
var Routes =() => (
<Router history={browserHistory}>
<Route path="/" component={Landing}>
</Route>
<Route path="/app" component={App}>
</Route>
</Router>
)
यहां मेरा server.js है। मैं ./public
app.use(express.static('./public'));
app.listen(port, function() {
console.log('Server running on port ' + port);
});
धन्यवाद, पूरी तरह से काम करता है! आपके समाधान में एक मामूली टाइपो मिला: यह res.sendFile (path.resolve (__ dirname', ''public/index.html') होना चाहिए; –
बढ़िया! यह भी ध्यान देने के लिए धन्यवाद, मैंने जवाब संपादित किया है। –
लेकिन क्या होगा यदि मेरा वेबपैक आउटपुट './dist/bundle.js' पर है, जबकि मेरा अनबंडल कोड और index.html './ublic' में है? मुझे प्रोड में क्या करने की ज़रूरत है? मेरा एक्सप्रेस सर्वर 'सार्वजनिक' से स्थिर फाइलों को प्रस्तुत करता है .. लेकिन index.html संदर्भ स्क्रिप्ट 'dist/bundle.js' पर है - इसे वापस नहीं पहुंचा सकता .... (यह वेबपैक के देव सर्वर के साथ ठीक काम करता है) –