PhantomJS ve/veya CasperJS üzerinde çalışan etkileşimli bir JS hata ayıklayıcısı alabilir miyim?IntelliJ/WebStorm ve PhantomJS/Casper ile JS hata ayıklamasını ayarlama
cevap
PhantomJS Chrome dev araçları içinde Casper komut hata ayıklamak için kullanabileceğiniz bir remote-debugger-port
seçeneği vardır. Sonra
casperjs test script.js --remote-debugger-port=9000
Chrome'da http://localhost:9000 açmak ve kendini göstermektedir about:blank
linke tıklayın: Kullanmak için, sadece bu argümanı ile Casper senaryoyu yürütmek. Daha sonra kendinizi tanıdık Chrome dev araçları bölgesinde bulmanız gerekir. Bu yana
hata ayıklama başlatmak için, iki senaryonuz çalıştırır önce şeylerden biri yapmak zorunda, bir senaryo değil, bir web sayfası: açmak, Krom dev araçları sayfasında
__run()
'u konsoluna getirin ve çalıştırın, betik dosyanızı başlatın.- Kodunuza bir
debugger;
satırı ekleyin ve casper komut dosyasını ek bir--remote-debugger-autorun=yes
bağımsız değişkeni ile çalıştırın. Uzaktan hata ayıklama sayfası açıkken bunu yapmak, komut dosyasınıdebugger;
hattınıza ulaşana kadar çalıştıracaktır.
Tüm bunları çok güzel açıklayan mükemmel bir tutorial var.
Bunu tamamen çözmedim, ama kesinlikle acıyı azalttım.
PhantomJS, webkit's remote debugger'u etkinleştirmek için command line argument sağlar. AFAIK, PhantomJS bir sunucuyu başlatır ve betiği tarayıcıdaki bir hata ayıklayıcısına sahip bir web sayfasının <head>
kod dosyasına döker. Aslında oldukça güzel, kırılma noktaları, vb. Bununla birlikte, rastgele bir komut satırı parametresi ve komut dosyanızın yolunu bulmak için terminalde elle kazı yapmak ciddi şekilde rahatsız edici.
Daha önce, herhangi bir önceki hata ayıklama oturumunu öldüren, PhantomJS'yi başlatan ve sonra da Chrome'da sayfayı açan bir Bash komut dosyasını başlatmak için IntelliJ'in "dış araçları" özelliğini kullandım. Yukarıdaki kod herhangi bir platform/IDE gibi iyi çalışır halde
#!/bin/bash
lsof -i [email protected]:9000 #list anything bound to port 9000
if [ $? -eq 0 ] #if something was listed
then
killall 'phantomjs'
fi
/usr/local/Cellar/phantomjs/2.0.0/bin/phantomjs --remote-debugger-port=9000 $1 &
# --remote-debugger-autorun=yes <- use if you have added 'debugger;' break points
# replace $1 with full path if you don't pass it as a variable.
sleep 2; #give phantomJS time to get started
open -a /Applications/Google\ Chrome.app http://localhost:9000 & #linux has a different 'open' command
# alt URL if you want to skip the page listing
# http://localhost:9000/webkit/inspector/inspector.html?page=1
#see also
#github.com/ariya/phantomjs/wiki/Troubleshooting
Sonraki birkaç satır intellij için ayarlardır.
programı: $ProjectFileDir$/path/to/bash/script.sh
parametreleri: $FilePath$
çalışma dir: $ProjectFileDir$
- 1. IntelliJ ve kaynak haritalarıyla JavaScript hata ayıklamasını etkinleştirme
- 2. Düğüm JS ile Cloud9 SSL Uygulamasını Ayarlama JS
- 3. visual studio: web hata ayıklamasını başlatmadan hata ayıklayıcısını ekleyin
- 4. Düğüm js içinde json ile garip bir hata js
- 5. Birden çok iş parçacığı komut dosyalarının hata ayıklamasını kaydetme
- 6. Düğüm JS, PHPStorm ile nasıl hata ayıklanır?
- 7. Önyükleme sırasında birden fazla dosya için dinamik hata ayıklamasını etkinleştirme
- 8. Celery için Django Hata Ayıklamasını Devre Dışı Bırakma
- 9. Odağı Windows uygulamasına ayarlama Node-JS
- 10. Açısal js çoklu seçim isteğinde değerleri ayarlama
- 11. Heroku * .js hata
- 12. Hata iletilerini İngilizce'ye ayarlama çalışmıyor
- 13. JS Hata tepki: tanımlanmamıştır
- 14. javascript ile kalıcı çerezler ayarlama
- 15. OrmLite'ı StructureMap ile ayarlama
- 16. Webstorm'da gug hata ayıklama js
- 17. HTML ve JS ile Çalma Listesi
- 18. PHP ve JS ile form değerini güncelle
- 19. açısal js Hata: [$ enjektör: unpr]
- 20. Dışa aktarma sırasında hücre genişliğini ayarlama js-xlsx
- 21. açısal js ile yönlendirme js ifade
- 22. Açıklamalı JS ile İçerme Fonksiyonu JS
- 23. Jetty ve log4j ile harici webapp günlüğe kaydetme yapılandırması ayarlama
- 24. elastikiyet ayarlama Postgresql ile aramaArama
- 25. Oturum uzunluğunu Devise ile ayarlama
- 26. Set_file ile içerik türü ayarlama
- 27. Odağı WPF'de MVVM ile ayarlama
- 28. JQuery ile boole bayrağı ayarlama
- 29. HTTP üstbilgilerini Jetty ile ayarlama
- 30. Selenium JS Chrome Webdriver kullanılarak hata oluştu
Chrome'da --remote-debugging-port, --remote-debugger-port değil. Aynı zamanda webkit makalesinde de bayrak var. Bayrağın doğru olduğunu iki kez kontrol etmek isteyebilirsiniz. –
Nope, bu [kesinlikle] (https://github.com/ariya/phantomjs/wiki/Troubleshooting#remote-debugging) '--Modote-debugger-port = 9000' – Indolering
Bu cevap bana bol miktarda internet puanı kazandırdı , Bu zamana bir * REAL * çözümünü görmek isterim ve cevabını gönderebilecek herkesin cevabını vermekten mutluluk duyarım! – Indolering