【问题标题】:GruntJs 'grunt' cmd opens Visual Studio?GruntJs 'grunt' cmd 打开 Visual Studio?
【发布时间】:2012-06-07 13:44:49
【问题描述】:

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

我运行:grunt init:gruntfile,这样就可以很好地创建 gruntfile 和 package.json 文件。

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

知道我做错了什么吗?

【问题讨论】:

    标签: javascript build-automation gruntjs


    【解决方案1】:

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

    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 $*
    

    【讨论】:

    • 没错。第一次你没有 grunt.js 文件,所以 windows 自动使用 grunt.cmd。在 init 步骤之后,您已经有了全新的 grunt.js 文件,Windows 现在正在尝试执行它而不是 grunt.cmd
    【解决方案2】:

    另一种解决方案是简单地将 gruntfile 从 grunt.js 重命名为 gruntfile.js 之类的东西,然后:

    grunt --config gruntfile.js task:target

    这样,没有grunt.js 文件,因此grunt 命令将调用 grunt 二进制文件,而不是尝试打开文件。

    这样做的好处是不需要针对特定​​平台的 hack。但是当然,如​​果你想在控制台中快速输入,你必须使用DOSKEY hack。

    如果有人想从npm 发出咕噜声,她可以在package.json 的适当部分写node node_modules/grunt/bin/grunt 而不是只写grunt

    【讨论】:

      【解决方案3】:

      我可以添加从 Visual Studio 的工具栏中调用 grunt 命令的选项吗?我最终在我的项目和解决方案中集成了许多 grunt 命令。所有特定任务。这是一个命令意大利面条,很难保持井井有条。我为这个问题创建了一个解决方案(scratch-my-own-itch 项目),它是一个名为 VsCommandBuddy 的视觉 stio 扩展。它允许开发人员根据可配置的解决方案/项目指定哪些工具栏按钮应该调用哪个命令。奇迹般有效。我现在打开任何解决方案并在我的 VS ui 中显示我可以在该解决方案中使用的确切命令。看一看: http://visualstudiogallery.msdn.microsoft.com/f5da988e-2ec1-4061-a569-46d09733c668

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 2018-02-16
        • 2019-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        • 1970-01-01
        • 2023-01-30
        相关资源
        最近更新 更多