2015-09-19 4 views
6

मैं अपने मूल लैरावेल एप्लिकेशन के लिए वेबपैक-देव-सर्वर का उपयोग करना चाहता हूं। 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/ पर परोसा जाता है। तो मेरा सवाल यह है कि दोनों सर्वरों (वेबपैक-डीवी-सर्वर और बैकएंड-सर्वर) को एक तरफ कैसे चलाएं। मैं क्या खो रहा हूँ?

+0

क्या यह आपकी मदद करता है अगर आप 'devServer' से पूरी तरह से 'प्रॉक्सी' को हटा दें? मेरे पास एक ही सेटअप है और यह काम करता है। बेशक आप अभी भी http://learning-laravel.dev:8888 या अपनी साइट तक पहुंच के समान उपयोग कर सकते हैं। – bernhardw

उत्तर

0

जो आप खो रहे हैं वह सरल है, आपको लार्वेल बैकएंड सर्वर (उदाहरण के लिए मार्ग/संपत्ति) के तहत वेबपैक-देव-सर्वर प्रॉक्सी करना होगा।

ऐसा करने के लिए, मैंने आपको http-proxy, एक्सप्रेस middlewares, और यहां तक ​​कि सामाजिक/नेटकैट सीएलआई उपकरण भी जांचने दिया है।

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

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