GruntJs的'grunt'命令如何打开Visual Studio?

8

我已经能够在一些个人项目中零问题使用GruntJs。我决定在工作项目中使用它。

我运行:grunt init:gruntfile,这将创建Gruntfile和package.json文件。

问题是每当我运行任何grunt cmd gruntgrunt lint等,它会立即打开Visual Studio并打开Gruntfile,但实际上什么都没有发生。Example

你知道我做错了什么吗?

3个回答

15

我没有阅读常见问题解答页面...

https://github.com/gruntjs/grunt/wiki/Frequently-Asked-Questions

如果你和 grunt.js 配置文件在同一目录下,Windows 在你输入 grunt 命令时会尝试执行此文件。因此,你需要输入 grunt.cmd 来代替。
另一种方法是使用 DOSKEY 命令根据以下说明创建“grunt”宏命令。这将允许您使用 grunt 命令而不是 grunt.cmd。 这是您要使用的 DOSKEY 命令:

编辑

或者,您可以使用 DOSKEY 命令:

DOSKEY grunt=grunt.cmd $*

2
没错。第一次你没有grunt.js文件,所以Windows自动使用了grunt.cmd。在初始化步骤之后,你现在有了全新的grunt.js文件,它坐在那里,Windows现在试图执行它而不是grunt.cmd。 - pcans

1
另一种解决方案是将gruntfile从grunt.js重命名为gruntfile.js,然后运行以下命令:grunt --config gruntfile.js task:target。这样,就没有grunt.js文件,因此grunt命令将调用grunt二进制文件而不是尝试打开文件。这种方法的优点是不需要特定于平台的黑客。但是,如果您想在控制台中快速输入,则必须使用DOSKEY黑客。如果要从npm运行grunt,则可以在package.json的适当部分中编写node node_modules/grunt/bin/grunt,而不仅仅是grunt

0
我能否在Visual Studio的工具栏中添加调用grunt命令的选项?我最终将许多grunt命令集成到我的项目和解决方案中,所有这些任务都是特定的。这导致了一堆命令,很难保持组织结构。为了解决这个问题(自己动手做的项目),我创建了一个名为VsCommandBuddy的Visual Studio扩展程序。它允许开发人员按解决方案/项目进行配置,指定哪些工具栏按钮应调用哪些命令。非常好用。现在,我打开任何解决方案时,都会在我的VS界面中显示可以在该解决方案中使用的命令。请看: http://visualstudiogallery.msdn.microsoft.com/f5da988e-2ec1-4061-a569-46d09733c668 希望对你有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接