require.js
indica il modo di definire gli oggetti all'interno dei moduli con define([requiremens], object)
come metodo migliore.Richiedi js ruins code navigation
Così ogni pagina, o altro file js, farà require()
chiama e riceve moduli come parametri.
Questo funziona abbastanza bene, ogni funzione/modulo ha il proprio spazio dei nomi.
Il problema è che ho:
// AJAX/Requests.js
define(['UI/Message'],function(Message){
var Requests={
checkResponse:function(response){
//1==ok
//0==error
//2==good message
//3==good message, but still stop
if(response.status==1){
return true;
}
else if(response.status==2){
Message.good(response.message);
return true;
}
else if(response.status==3){
Message.good(response.message);
return false;
}
else{
Message.bad(response.message);
return false;
}
}
};
return Requests;
});
Ora la UI/messaggio è definito nello stesso modo, e ritorna oggetto.
Ma quando modifico il file con le richieste, non posso navigare per codice, quindi se voglio modificare oggetto Messaggio, l'unico modo è andare e aprire il file me stesso e trovare la funzione di cui ho bisogno, piuttosto che avere l'IDE salta lì per me.
C'è qualche soluzione per pycharm in particolare o require.js in comune per risolvere questo problema? Quando hai un sacco di codice diventa un disastro per navigarlo, ed è per questo che uso un IDE in primo luogo!
E che peggio: l'editor non sa mai quali funzioni hanno gli oggetti!
L'unica soluzione possibile che vedo è non utilizzare spazi dei nomi chiusi e dichiarare la variabile globale prima della chiamata define()
, ma in questo caso tutti gli oggetti devono essere chiamati come UI_Message, AJAX_Requests. Per essere sicuro, che non ho un messaggio in due posizioni diverse ...
E non sono sicuro, se require.js optimizer lo userà correttamente. La documentazione di Require.js afferma molto chiaramente, di stare lontano dalle variabili globali.
È stato risolto? – singsuyash