मैं अपने मूल लैरावेल एप्लिकेशन के लिए वेबपैक-देव-सर्वर का उपयोग करना चाहता हूं। official Webpack docs से मैंने निम्नलिखित सीखा:लार्वा एप्लिकेशन में काम करने के लिए वेबपैक को कॉन्फ़िगर करना
आप बैकएंड सर्वर या विकास में इसका एक मॉक चलाने के लिए इच्छुक हो सकते हैं। आपको बैकएंड के रूप में वेबपैक-देव-सर्वर का उपयोग नहीं करना चाहिए। इसका केवल उद्देश्य स्थिर (वेबपैक) संपत्तियों को प्रस्तुत करना है।
आप दो सर्वरों को एक साथ चला सकते हैं: वेबपैक-देव-सर्वर और आपके बैकएंड सर्वर।
पृष्ठ के निचले हिस्से में वे इसे पूरा करने के तरीके पर एक उदाहरण देते हैं। मैं साथ आया और दो त्रुटि संदेशों के साथ फंस गया। यह वेबपैक को लैरवेल एप्लिकेशन में एकीकृत करने का मेरा प्रयास है।
webpack.config.js
var path = require("path");
module.exports = {
context: path.resolve('resources'),
entry: [
'./assets/js/app.js'
],
output: {
path: path.resolve('public/assets/'),
publicPath: 'http://localhost:8080/assets/',
filename: "bundle.js"
},
devServer: {
contentBase: 'public',
hot: true,
proxy: {
"*": "http://laravel.dev/"
}
}
};
app.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learning Laravel</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
@yield('content')
</div>
@yield('footer')
<script src="http://localhost:8080/assets/bundle.js"/>
</body>
</html>
[email protected]:~/learning-laravel$ webpack-dev-server --inline
कंसोल आउटपुट:
http://localhost:8080/
webpack result is served from http://localhost:8080/assets/
content is served from public
Hash: 3346964212f5b22513c6
Version: webpack 1.12.2
Time: 347ms
Asset Size Chunks Chunk Names
bundle.js 228 kB 0 [emitted] main
chunk {0} bundle.js (main) 213 kB [rendered]
[0] multi main 52 bytes {0} [built] [1 error]
[1] /usr/lib/~/webpack-dev-server/client?http://localhost:8080 2.14 kB {0} [built]
[2] (webpack)/~/node-libs-browser/~/url/url.js 22.3 kB {0} [built]
[3] (webpack)/~/node-libs-browser/~/punycode/punycode.js 14.6 kB {0} [built]
[4] (webpack)/buildin/module.js 251 bytes {0} [built]
[5] (webpack)/~/node-libs-browser/~/url/~/querystring/index.js 127
...
[61] ./resources/assets/js/app.js 103 bytes {0} [built]
[62] ./resources/assets/js/login.js 28 bytes {0} [built]
ERROR in multi main
Module not found: Error: Cannot resolve module 'webpack/hot/dev-server' in /home/vagrant/learning-laravel/resources
@ multi main
webpack: bundle is now VALID.
मैं Homestead उपयोग कर रहा हूँ। आवेदन http://laravel.dev/ पर परोसा जाता है। तो मेरा सवाल यह है कि दोनों सर्वरों (वेबपैक-डीवी-सर्वर और बैकएंड-सर्वर) को एक तरफ कैसे चलाएं। मैं क्या खो रहा हूँ?
क्या यह आपकी मदद करता है अगर आप 'devServer' से पूरी तरह से 'प्रॉक्सी' को हटा दें? मेरे पास एक ही सेटअप है और यह काम करता है। बेशक आप अभी भी http://learning-laravel.dev:8888 या अपनी साइट तक पहुंच के समान उपयोग कर सकते हैं। – bernhardw