2015-06-30 7 views
7

मैं अपने नए ब्लॉग पर काम कर रहा हूं, क्योंकि अब सर्वर पक्ष नोडजेएस (एक्सप्रेसज का उपयोग कर) है, मैं अपने कंप्यूटर पर सर्वर होस्ट करता हूं।किसी भिन्न कंप्यूटर से प्रतिबिंबित क्लाइंट क्रियाएं

तेजी से विकास के लिए मैं GulpJS का उपयोग कर रहा हूं।

इससे पहले कि मैं अजीब चीज समझाऊं। मुझे कहना है कि दोनों बंदरगाह (3000 और 80 खुले) हैं।

  • Gulp संस्करण: 3.9.0
  • NodeJS संस्करण: 0.10.35
  • ब्राउज़र-सिंक: 2.7.12

यह मेरा index.js, मैं node index.js का उपयोग सर्वर शुरू करने के लिए है।

var sync = require("browser-sync").create(); 
gulp.task('browser-sync', function() { 
    sync.init({ 
     proxy: "http://localhost:80", 
     browser: "chrome", 
     port: 3000 
    }); 
}); 

तो बाद मैं अपने ब्लॉग मैं एक करने के लिए यह दिखाने का फैसला किया है पर थोड़ी देर के काम करते हैं:

var express = require('express'); 
var app = express(); 

app.use(express.static('public')); 
app.set('base', '/public'); 
app.get('/', function(req, res) { 

    res.sendfile('index.html'); 

}); 

var server = app.listen(80, function() { 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log('Example app istening at http://%s:%s', host, port); 
}); 

अब इस gulpfile.js से महत्वपूर्ण हिस्सा मैं का उपयोग करें (मैं सादगी के लिए सबसे अधिक कार्यों निकाला गया) दोस्त, जबकि NodeJS सर्वर चल रहा है और Gulp कुछ html, js और sass फ़ाइलों पर देख रहा है, मैं अपने domain.ml:3000 मेरे दोस्त के लिए, डोमेन अंक मेरी बाहरी IP करने के लिए भेजने के लिए और बंदरगाह 3000 प्रॉक्सी ०१२३३९४७४७ के माध्यम से परिभाषित की वजह से है।

अजीब बात मैं व्याख्या नहीं कर सकते:

मेरे दोस्त वेबसाइट अपने कार्यों मेरे लिए परिलक्षित कर रहे थे के साथ खेला जाता है, जिसका अर्थ है हम दोनों domain.ml:3000 और का दौरा किया जब वह सेट src विशेषता के साथ एक लिंक पर क्लिक किया # को, मेरी तरफ यूआरएल domain.ml:3000/# करने के लिए बदल पर, मैं भी एक कड़ी है कि जब क्लिक एक टैब को खोलता है और फिर से (संक्रमण कुछ js + सीएसएस संक्रमण द्वारा किया जाता है) जब टैब खुलता है पर उनकी तरफ यह पर भी मेरी तरफ पर खुलता है।

मुझे लगता है कि यह browser-sync प्रॉक्सी के साथ कुछ है, लेकिन मैं इस व्यवहार को समझा नहीं सकता और न ही समझ सकता हूं, अगर कोई मुझे यह समझने में मदद कर सकता है तो मैं बहुत आभारी रहूंगा, आपका दिन शुभ हो।

उत्तर

2

यह सौदा है, ब्राउज़र-सिंक आपके प्रॉक्सी के माध्यम से हैश यूआरएल को आपके सर्वर पर भेज रहा है (जैसे आप '#' के साथ लिंक क्लिक करते हैं) कि टुकड़े का कुछ अलग उपचार होता है।

पोर्ट 80 पर सर्वर अब आपके ब्राउज़र-सिंक सत्र से सभी यूआरएल को दोबारा चलाने वाला कठपुतली है, आप दोनों ब्राउज़र-सिंक पोर्ट 3000 से जुड़े हुए हैं, जब आप में से कोई एक हैश परिवर्तन भेजता है, तो आप दोनों को नया स्थान प्राप्त होता है जैसा कि आप पोर्ट पर सर्वर करते हैं: 80 में अब भी नया स्थान है।

+0

हाय, इस उत्तर के लिए धन्यवाद, मुझे लगता है कि अब मैं काफी समझता हूं, लेकिन क्या आपको लगता है कि आप कुछ और समझा सकते हैं या मुझे कुछ विश्वसनीय स्रोतों के लिए निर्देशित कर सकते हैं ताकि मैं खुद को पढ़ सकूं, कोई और जानकारी मुझे मदद करेगी विचार को बेहतर समझें। –

3

मूल रूप से ब्राउज़र-सिंक का क्या मतलब है। आप ब्राउज़र को एक ही ऐप का परीक्षण करने के लिए सिंक कर सकते हैं। एक बार जब आप एक गल्प बनाने और उस निर्माण को सेवा देने के बाद बदल जाएंगे, तो आपके 'dev संस्करण' के बजाय।

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