我已经能够在几个零问题的个人项目中使用GruntJs 。我决定在我的工作项目中使用它。
我运行:grunt init:gruntfile
这将创建 gruntfile 和 package.json 文件就好了。
问题是,每当我运行任何 grunt cmdgrunt
等grunt lint
时,它都会立即打开 Visual Studio 并打开 gruntfile。实际上什么也没发生。
知道我做错了什么吗?
我已经能够在几个零问题的个人项目中使用GruntJs 。我决定在我的工作项目中使用它。
我运行:grunt init:gruntfile
这将创建 gruntfile 和 package.json 文件就好了。
问题是,每当我运行任何 grunt cmdgrunt
等grunt lint
时,它都会立即打开 Visual Studio 并打开 gruntfile。实际上什么也没发生。
知道我做错了什么吗?
我没有阅读常见问题解答...
https://github.com/gruntjs/grunt/wiki/Frequently-Asked-Questions
如果您与 grunt.js gruntfile 位于同一目录中,Windows 会在您键入 grunt 时尝试执行该文件。所以你需要输入 grunt.cmd 代替。
另一种方法是使用 DOSKEY 命令创建一个 grunt 宏,遵循这些指示。这将允许您使用 grunt 而不是 grunt.cmd。这是您要使用的 DOSKEY 命令:
编辑
或者,您可以使用以下DOSKEY
命令:
DOSKEY grunt=grunt.cmd $*
另一种解决方案是简单地将 gruntfile 从 重命名grunt.js
为 sth likegruntfile.js
然后:
grunt --config gruntfile.js task:target
这样,没有grunt.js
文件,因此grunt
命令将调用 grunt 二进制文件,而不是尝试打开文件。
这具有不需要特定于平台的黑客的优势。但是,当然,如果您想在控制台中快速输入,则必须使用DOSKEY
hack。
万一有人想发出咕噜声npm
,她可以写node node_modules/grunt/bin/grunt
而不是写grunt
在适当的部分package.json
。
我可以添加从 Visual Studio 的工具栏中调用 grunt 命令的选项吗?我最终在我的项目和解决方案中集成了许多 grunt 命令。所有特定任务。这是一个命令式意大利面条,很难保持井井有条。我为这个问题创建了一个解决方案(scratch-my-own-itch project),它是一个名为 VsCommandBuddy 的视觉 stio 扩展。它允许开发人员根据可配置的解决方案/项目指定哪些工具栏按钮应该调用哪个命令。奇迹般有效。我现在打开任何解决方案并在我的 VS ui 中显示我可以在该解决方案中使用的确切命令。看看:http: //visualstudiogallery.msdn.microsoft.com/f5da988e-2ec1-4061-a569-46d09733c668
希望能帮助到你!