grunt watch task阻止命令行

Iva*_* V. 12 command-line cmd watch node.js gruntjs

我是新来的咕噜咕噜,还在学习,所以我遇到了一个非常奇怪的问题.当我运行"watch"任务时,我的命令行被阻止,所以基本上我不能做任何事情.请记住,任务已成功完成.这是我的命令行输出:

C:\server\css-test>grunt w
Running "watch" task
Waiting...OK
>> File "compass-examples-master\02\sass\screen.scss" changed.

Running "compass" (compass) task
unchanged compass-examples-master/02/sass/ie.scss
unchanged compass-examples-master/02/sass/print.scss
overwrite compass-examples-master/02/stylesheets/new/sass/screen.css

Running "watch" task

Completed in 1.496s at Fri Mar 22 2013 19:31:37 GMT+0100 (Central Europe Standard Time) - Waiting...
Run Code Online (Sandbox Code Playgroud)

如您所见,我所做的只是运行"compass"任务,它成功完成.

插入点在Waiting...文本部分后保持闪烁,但键盘输入不起作用.

我的咕噜声配置

module.exports = function (grunt)
{

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        compass: {
            dist: {
                options: {
                    sassDir: 'compass-examples-master/02',
                    cssDir: 'compass-examples-master/02/stylesheets/new',
                    imagesDir: 'compas-examples-master/02/images',
                    boring: false,
                    outputStyle: 'nested',
                    require: 'sass-media_query_combiner'
                }
            }
        },
        watch: {
            files: 'compass-examples-master/02/sass/*',
            tasks: ['c']
        }
    });

    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-compass');


    grunt.registerTask('c', 'compass');
    grunt.registerTask('w', 'watch');

};
Run Code Online (Sandbox Code Playgroud)

Nic*_*son 21

我没有使用过grunt watch,但是我认为问题在于它是一个持续运行的进程,默认情况下,你的命令行通常会一次运行一个进程.您可以使用3种解决方案.

  1. 打开一个新终端.您可以同时打开多个,这将允许您使用第二个作为主终端,而grunt watch占用另一个.
  2. 在命令中使用&符号.这将开始该过程并立即将命令行返回给您,允许您将其用于其他事情.您可以将其视为在后台运行命令.该过程仍然连接到终端窗口,因此如果您关闭窗口,该过程将结束.

    咕噜咕噜

  3. 在命令周围使用(&).这将在后台运行,就像&一样,但是当你关闭终端窗口时,进程不会被杀死.

    (咕噜咕噜)


Chr*_*hew 6

适用于Windows

start grunt
Run Code Online (Sandbox Code Playgroud)

这将带来一个CMD窗口,它将在后台"观察"并离开你正在工作的git-bash或cmd窗口,就像你离开它一样.

换句话说,这将为您在单独的cmd窗口中运行任务.

只是想让人们知道这是根据评论工作的.