2014-12-29 19 views

cevap

14

kullanıcıyı müşteri koduna bu her yerde ekleyerek HCP (sıcak kod itme) devre dışı bırakabilirsiniz:

Meteor._reload.onMigrate(function() { 
    return [false]; 
}); 

bunu yaparken sonra el herhangi bir yeni değişiklikleri görmek için sayfayı yenilemeniz gerekir.

+0

Bunu sadece bir şablon için yapmak mümkün mü? – Luna

+2

sadece kafa kadar - 'Meteor._reload' kaldırıldı ve meteor 1.6.1 itibariyle kaldırıldı. 'Reload._onMigrate' yerine kullanılabilir. – hwillson

16

Çok gibi --once bayrağıyla uygulamanızı başlatabilirsiniz: meteor --once.

let shouldReloadPage = false; 
const componentsBlockingHCP = []; 

Meteor._reload.onMigrate(function() { 
    if (componentsBlockingHCP.length) { 
    shouldReloadPage = true; 
    return [false]; 
    } 
    shouldReloadPage = false; 
    return [true]; 
}); 

/* 
* Prevent hot push 
*/ 
export const delayHCP = (component) => { 
    if (componentsBlockingHCP.indexOf(component) < 0) 
    componentsBlockingHCP.push(component); 
}; 

/* 
* Enable, and reload if hot pushed has been requested when it was not available 
*/ 
export const stopHCPDelay = (component) => { 
    const idx = componentsBlockingHCP.indexOf(component); 
    if (idx !== -1) 
    componentsBlockingHCP.splice(idx, 1); 

    if (shouldReloadPage && !componentsBlockingHCP.length) { 
    location.reload(); 
    } 
}; 

Ve (sözdizimi tepki ile) bileşeninden, o zaman:: Bunu yapıyorum nasıl bu David'in yanıta

+2

Bu komutun tam olarak ne yaptığı hakkında daha ayrıntılı bilgi verebilir misiniz? Eğer '--once' bayrağını buldunuz nerede –

+2

bir bağlantı verebilir? – Konard

+0

Bu, sayfayı yeniden yüklediğinizde kodu yeniden yüklemez. –

3

Bina, burada hayatta iken bileşenler sıcak kod itmek durdurmak izin var

componentDidMount() { 
    delayHCP(this); 
} 
componentWillUnmount() { 
    stopHCPDelay(this); 
} 
+0

Bu harika çalışıyor! teşekkür ederim! –

0

bunun için küçük bir hile vardır. Ardından kod üzerinde çalışmaya devam, Çalıştığınız sayfa ve basın Enter ait url sonunda # koyun. Dosyayı kaydettikten sonra, sayfayı el ile yenileyene kadar yenilenmez (F5 veya cmd + R) Bu şekilde sayfanın yenilenmesi önlenir, ancak yeni kod istemciye aktarılır ve HCP'yi devre dışı bırakmanız gerekmez. tüm site için. Dezavantaj: Yeni kod istemciye ne zaman itildiğini bilmiyorsunuz

İlgili konular