I have been able to use GruntJs on several personal projects with zero problems. I decided I would use it on my project at work.
I run: grunt init:gruntfile
and that creates the gruntfile and the package.json file just fine.
The problem is that whenever I run any grunt cmd grunt
or grunt lint
etc it immediately opens up Visual Studio and opens the gruntfile. Nothing actually happens.
Any idea what I am doing wrong?
The alternative solution is to simply rename gruntfile from
grunt.js
to sth likegruntfile.js
and then:grunt --config gruntfile.js task:target
That way, there's no
grunt.js
file sogrunt
command will invoke the grunt binary rather than trying to open the file.This has an advantage of not needing platform-specific hacks. But of course if you want to type quickly in the console, you have to go with the
DOSKEY
hack.In case one wants to run grunt from
npm
, she can writenode node_modules/grunt/bin/grunt
instead of justgrunt
in the proper section ofpackage.json
.Might I add the option to call the grunt commands from your toolbar in Visual Studio? I ended up integrating a lot of grunt commands in my projects and solutions. All specific tasks. It was a command spagetti, difficult to stay organized. I created a solution for this problem (scratch-my-own-itch project), it's an extension on visual stio called VsCommandBuddy. It allows the developer, per solution/project configurable, to specify which toolbar buttons should invoke which command. Works like a charm. I now open any solution and get presented in my VS ui, exactly which commands I can use in that solution. Have a look: http://visualstudiogallery.msdn.microsoft.com/f5da988e-2ec1-4061-a569-46d09733c668
Hope it helps!
I didnt read the FAQ...
https://github.com/gruntjs/grunt/wiki/Frequently-Asked-Questions
EDIT
Alternatively you could use the
DOSKEY
command: