2014-12-29 18 views

risposta

14

È possibile disattivare HCP (codice di spinta calda) con l'aggiunta di questo ovunque nel codice client:

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

Dopo aver fatto questo, è necessario aggiornare manualmente la pagina per vedere eventuali nuove modifiche.

+0

È possibile farlo per un solo modello? – Luna

+2

Solo un avviso: 'Meteor._reload' è deprecato ed è stato rimosso da Meteor 1.6.1. È possibile utilizzare "Reload._onMigrate'. – hwillson

16

È possibile avviare l'app con il flag --once, ad esempio: meteor --once.

+2

puoi fornire ulteriori dettagli su ciò che questo comando fa esattamente? –

+2

puoi dare un link dove hai trovato il flag '--once'? – Konard

+0

Questo non ricaricherà il codice quando ricaricherete la pagina, comunque. –

3

Sulla risposta quelli di David, ecco come ho fatto a lasciare che i componenti si fermano codice spinta calda mentre sono vivi:

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(); 
    } 
}; 

E poi, da un componente (con React sintassi):

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

Funziona alla grande! grazie! –

0

C'è un piccolo trucco per questo. Inserisci # alla fine dell'URL della pagina che stai lavorando e premi , quindi continua a lavorare sul tuo codice. Una volta salvato il file, la pagina non verrà aggiornata finché non la si aggiorna manualmente (F5 o cmd + R) In questo modo si eviterà l'aggiornamento della pagina, ma il nuovo codice verrà comunque inviato al client e non sarà necessario disabilitare l'HCP per l'intero sito. Svantaggio: non si sa quando il nuovo codice viene inviato al client

Problemi correlati