Comment déboguer grunt dans PHPStorm (WebStorm)

A priori, une bonne idée du débogueur grunt (par exemple, une fonction d'écoute d'événement) dans PHP Storm.

Il existe un support Node.js dans storm, mais je ne sais pas comment configurer les paramètres de débogage si je souhaite déboguer une tâche grunt par exemple lorsqu'un fichier a changé et que la tâche de surveillance l'émet.

J'utilise Windows 7. J'ai trouvé que lorsque je tape "grunt" dans cmd, il fonctionne réellement

node c:\Users\<username>\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt 

Donc, je mets dans PhpStorm Run / Debug configuration Path to Node App JS File = c:\Users\<username>\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt

Maintenant, je place un point d'arrêt dans module.exports = function (grunt) { ... } et cliquez sur le bouton "Déboguer" sur la barre d'outils – le point d'arrêt fonctionne comme prévu!

(Si vous ne savez pas où la configuration Run / Debug dans PhpStorm lisez ceci: http://www.jetbrains.com/phpstorm/webhelp/running-and-debugging-node-js.html )

La publication de Petr est correcte, mais j'ajoute quelques images pour rendre cela un peu plus clair pour PHPStorm ou WebStorm Newbies


1) À PARTIR DU MENU WEBSTORM PRINCIPAL: Run-> Edit Configurations … ouvre une boîte de dialogue

2) Cliquez sur l'icône [+], puis sélectionnez l'entrée Node.js dans la liste déroulante si elle n'est pas déjà sélectionnée

Éditeur de configuration

3) Cela ouvrira un modèle Node.js avec les champs de base remplis. Vous devrez ajouter les champs suivants Nom, répertoire de travail, fichier de script Java, paramètres d'application

Entrez la description de l'image ici

Nom GRUNT ou ce que vous voulez

Répertoire de travail C: \ GRUNT-TASKPATH (ou partout où la source de la tâche grunt est installée) qui contient la source, et devrait également contenir un fichier gruntfile.js

Fichier Javascript "C: \ Utilisateurs \ NOM DE L'UTILISATEUR \ AppData \ Roaming \ npm \ node_modules \ grunt-cli \ bin \ grunt" Ceci est l'application nœud grunt, sur linux / mac, il sera dans un répertoire différent

Paramètres de l'application TASKNAME Le nom de votre tâche grunt que vous allez déboguer

4) N'oubliez pas d'appliquer les paramètres que vous venez de faire et appuyez sur OK pour fermer la boîte de dialogue

5) Ouvrez la source de la tâche qui devrait être dans votre répertoire de travail sous quelque chose comme (tâches / taskname.js) et définissez un point d'arrêt

C'est ça, vous pouvez maintenant exécuter ou déboguer la tâche à l'aide de la configuration GRUNT dans le menu Exécuter ou la liste déroulante de la barre d'outils.

J'utilise Linux et je dois configurer PhpStorm Run / Debug de façon étrange pour exécuter ou déboguer des tâches Grunt, peut-être parce que j'ai installé Node dans mon dossier personnel plutôt que d'avoir un lien vers le binaire dans / usr / bin

Mes paramètres sont les suivants:

A) "Paht to Node": Je définis le chemin vers mon nœud bin que j'ai dans / home / ifraixedes / Apps / node / bin / node B) "Paramètres de noeud" J'ai défini le chemin vers Grunt-cli script, dans mon Case: / home / ifraixedes / Apps / node / lib / node_modules / grunt-cli / bin / grunt C) "Répertoire de travail": J'ai tapé le chemin d'accès au répertoire où Gruntfile.js, que je veux exécuter, est D ) "Path to Node App JS File": J'ai tapé le nom de la tâche grunt à exécuter, p.ex. par défaut

Et avec ces paramètres, je peux exécuter le débogueur PhpStorm comme une application NodeJS habituelle afin que je puisse définir les points d'arrêt où j'ai besoin.