Sur mon site de production, j'ai compilé Javascript.Comment remplacer site Javascript de production avec Javascript local?
<script src="/js/mycode.min.js"></script>
Il serait pour le débogage très convient si je pouvais faire mon navigateur remplacer par
<script src="http://localhost/js/mycode1.js"></script>
<script src="http://localhost/js/mycode2.js"></script>
...
Je sais que je pouvais manipuler le DOM en utilisant quelque chose comme userscripts Greasemonkey, mais je ne pouvais pas venir avec une solution qui empêcherait l'exécution de "mycode.min.js".
Des idées?
Devrait fonctionner. Mais je vais chercher d'autres solutions proxy qui sont plus faciles à scripter et gratuit. Quelqu'un peut-il recommander un bon pour linux/osx? –
MISE À JOUR: Je me suis écrit un petit proxy qui transmet tout de mon serveur de production et la chaîne remplace le
Qu'en est-il de l'utilisation d'un sous-domaine comme
http://static.example.com
pour les fichiers statiques (par exemple les fichiers .js) et la modification du fichier hôte?Ajoutez la ligne suivante à la hostfile (
/etc/hosts
pour Linux,C:\WINDOWS\System32\drivers\etc\host
):Bien sûr, vous avez à lancer un serveur avec les fichiers de
http://static.example.com/
sur127.0.0.1
.Une autre solution utilise un serveur proxy (local) comme Privoxy pour rediriger
http://example.com/js/
vershttp://localhost/js/
.Source
2010-10-14 18:56:45 Lekensteyn
Si seulement les services informatiques n'a pas de verrouiller l'accès d'édition à th est classé dans les lieux de travail de l'enfer pour des raisons de «sécurité». > :) – epascarello
Bonne idée. Je le ferai. Mais cette solution implique toujours d'avoir tout le code JS dans un fichier. Serait parfait pour les avoir tous séparés. –
En supposant vos scripts sont tout simplement la version brute du fichier de production, vous pouvez simplement se fissurer ouvrir votre débogueur ou console JS et importer vos scripts préférés:
Ce faisant, remplacera les fonctions définies à l'origine et les variables . Vous devrez ré-exécuter manuellement
window.onload
. Si vous avez un script qui s'exécute immédiatement ou en charge qui change beaucoup sur la page, vous pouvez avoir du travail à faire pour revenir à l'état d'origine.Bonne chance!
Source
2010-10-14 19:47:56 gilly3
Ce n'est pas une bonne solution si le code original manipule la page ou ajoute des gestionnaires d'événements. Vous finirez par causer plus de problèmes. – epascarello
Bien sûr ... j'en ai dit autant dans ma réponse. Mais si tout ce que vous avez à faire est de déboguer votre code, il suffit de remplacer les fonctions par cette technique pour pouvoir définir des points d'arrêt dans votre code et le déboguer. – gilly3
Bien que la solution d'epascarello fonctionne, il existe une solution plus rapide pour le débogage de fichiers minifiés. Envisagez d'utiliser JavaScript source maps. Firefox et Chrome modernes les prennent en charge. L'idée de la carte source est de dire le navigateur où trouver la version non-vérifiée. Lorsque vous démarrez le débogage dans les outils de développement de votre navigateur, le navigateur charge une version non-modifiée du script et vous montre le code JavaScript facile à lire (ou quel que soit le code que vous avez compilé en JavaScript) dans le débogueur.
Source
2013-09-27 07:09:19
Juste un petit commentaire car il n'était pas clair pour moi: la version minifiée est ce qui est analysé et exécuté pas la version non-vérifiée. –
@DanielSokolowski oui, vous avez raison.Le navigateur exécute la version minifiée, mais vous montre l'original (non réduit) dans les outils DEV, de sorte que vous pouvez exécuter l'exécution étape par étape et regarder les variables. –
Pour ajouter un NOUVEAU fichier vous pouvez utiliser quelque chose comme l'un de l'autre poste:
Ce script tampermonkey peut remplacer un fichier JS sur une page Web avec votre commande un d'un domaine:
Source
2016-05-10 21:11:31
Tentative intéressante. Quand je cours ce code, il n'atteint pas le stade 3. Des idées sur pourquoi? – Clone
At-il atteindre le stade 2? –
Merci d'avoir répondu! Oui, en effet. J'ai en fait créé un fil sur ce problème http://stackoverflow.com/q/43444796/6130540. – Clone
Ajoutez quelque chose à votre URL pour faire la distinction entre y notre contexte de développement et de production; exemple: http://url_of_prod.com
http://url_of_dev.com?debug=true
puis, utilisez javascript pour vérifier si l'EEG variable de débogage est activée ou non, ou vérifier l'URL avec
si (window.location.host.indexOf ('url_of_dev «)> -1) ...
Utilisez ensuite une fonction de charge pour charger ou non votre fichier, comme dans cet exemple: http://www.softpeople.fr/replaceswitch-dev-local-production-website-javascript-during-debug/
Source
2016-11-22 15:19:31 Ademus