2015-09-10 6 views
18

हमारी टीम ने हमारे वेब ऐप को मचान करने के लिए यमन के साथ गल्प-कोणीय जनरेटर का उपयोग किया। यह लाइव रीलोड को संभालने के लिए browserync का उपयोग करता है, जिसे हम चाहते हैं। हालांकि, हमने अभी हमारे विकास सर्वर पर तैनात किया है, और अब जब दो डेवलपर एक ही समय में गल्प सेवा कमांड का उपयोग कर रहे हैं, तो वे दोनों एक ही विंडो दिखाए जाते हैं (यानी एक खिड़की पर एक डेवलपर प्रकार, यह अन्य डेवलपर की विंडो में दिखाई देता है भी)। मेरा मानना ​​है कि यह ब्राउज़रसिंक की क्रॉस-डिवाइस परीक्षण क्षमताओं के कारण है, हालांकि मुझे इस सुविधा को अक्षम करने के लिए नुकसान हुआ है। अगर कोई जानता है कि यह कैसे करें (अधिमानतः हमारी लाइव-रीलोड कार्यक्षमता को अक्षम किए बिना) कृपया मुझे बताएं!BrowserSync की क्रॉस-डिवाइस एक्शन मिररिंग कार्यक्षमता को अक्षम कैसे करें? (GhostMode)

नीचे मेरे सर्वर.जेएस फ़ाइल के लिए gulp फ़ोल्डर में कोड है, जो कि गल्प-कोणीय जनरेटर के साथ आता है, इसलिए उम्मीद है कि इससे कुछ लोगों की मदद मिलेगी।

'use strict'; 

var path = require('path'); 
var gulp = require('gulp'); 
var conf = require('./conf'); 

var browserSync = require('browser-sync'); 
var browserSyncSpa = require('browser-sync-spa'); 

var util = require('util'); 

var proxyMiddleware = require('http-proxy-middleware'); 

function browserSyncInit(baseDir, browser) { 
    browser = browser === undefined ? 'default' : browser; 

    var routes = null; 
    if(baseDir === conf.paths.src || (util.isArray(baseDir) && baseDir.indexOf(conf.paths.src) !== -1)) { 
    routes = { 
     '/bower_components': 'bower_components' 
    }; 
    } 

    var server = { 
    baseDir: baseDir, 
    routes: routes 
    }; 

    /* 
    * You can add a proxy to your backend by uncommenting the line bellow. 
    * You just have to configure a context which will we redirected and the target url. 
    * Example: $http.get('/users') requests will be automatically proxified. 
    * 
    * For more details and option, https://github.com/chimurai/http-proxy-middleware/blob/v0.0.5/README.md 
    */ 
    // server.middleware = proxyMiddleware('/users', {target: 'http://jsonplaceholder.typicode.com', proxyHost: 'jsonplaceholder.typicode.com'}); 

    browserSync.instance = browserSync.init({ 
    startPath: '/', 
    server: server, 
    browser: browser 
    }); 
} 

browserSync.use(browserSyncSpa({ 
    selector: '[ng-app]'// Only needed for angular apps 
})); 

gulp.task('serve', ['watch'], function() { 
    browserSyncInit([path.join(conf.paths.tmp, '/serve'), conf.paths.src]); 
}); 

gulp.task('serve:dist', ['build'], function() { 
    browserSyncInit(conf.paths.dist); 
}); 

gulp.task('serve:e2e', ['inject'], function() { 
    browserSyncInit([conf.paths.tmp + '/serve', conf.paths.src], []); 
}); 

gulp.task('serve:e2e-dist', ['build'], function() { 
    browserSyncInit(conf.paths.dist, []); 
}); 

उत्तर

36

एक ही समस्या का सामना करना पड़ा, आप बस भूत मोड में गलत मोड सेट कर सकते हैं।

 browserSync.instance = browserSync.init({ 
     startPath: '/', 
     ghostMode: false, 
     server: server, 
     browser: browser 
    }); 

आप QuickStart seed का उपयोग अपनी परियोजना प्रारंभ करने में मामले में default.config.js :) में

+1

अपने जवाब के लिए धन्यवाद:

मेरे फ़ाइल निम्न शामिल हैं! यह वास्तव में एक समाधान है जिसे हमने एक बार महसूस किया था कि अगर हमने अपना पहला समाधान इस्तेमाल किया, तो हमें प्रत्येक नई परियोजना के लिए भूत मोड को मैन्युअल रूप से अक्षम करने की आवश्यकता होगी। यह निश्चित रूप से जाने का रास्ता है, धन्यवाद! – turner

5

क्षमा करें मेरे अपने सवाल का जवाब देने, लेकिन मैं कुछ दिनों के बाद जवाब मिल गया है और के बाद से कोई भी अभी तक इस का उत्तर दिया है मैंने सोचा था कि मैं अपने समाधान पोस्ट चाहते हैं।

हम जिस समस्या का सामना कर रहे थे, वह ब्राउज़रस्क्रैक में एक विशेषता के कारण होता है जिसे "GhostMode" कहा जाता है, जो दर्पण क्लिक करते हैं और क्रियाओं को स्क्रॉल करते हैं, साथ ही डिवाइस पर कई रूपों के कार्यों को भी स्क्रॉल करते हैं। इसे अक्षम करना बहुत आसान है: अपनी ब्राउज़र सिंक कॉन्फ़िगरेशन फ़ाइल की तलाश करें (मेरे लिए यह रूट/node_modules/ब्राउज़र-सिंक/lib/default.config.js पर था) और इसे खोलें। निम्न जैसा कुछ के लिए है कि फाइल में खोजें:

ghostMode: { 
    clicks: true, 
    scroll: true, 
    forms: { 
     submit: true, 
     inputs: true, 
     toggles: true 
    } 
}, 

और इसे बदलने के इतना है कि यह कहते हैं ghostMode: false,

यह हमारी समस्या का समाधान हो और उम्मीद है कि इस दूसरों की मदद करेगा अगर वे एक ही समस्या का सामना।

2

बदलने की कोई आवश्यकता, BrowserSync की सेटिंग बीएस config.json फ़ाइल का उपयोग विन्यस्त किया जा सकता प्रोजेक्ट के रूट फ़ोल्डर पर।

{ 
    "server": { 
    "baseDir": "src", 
    "routes": { 
     "/node_modules": "node_modules" 
    } 
    }, 
    "ghostMode": false 
} 
संबंधित मुद्दे