gpt4 book ai didi

node.js - 使用 watch 从 grunt 运行 Node 应用程序

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:01 25 4
gpt4 key购买 nike

所以,我有下面的 grunt 文件。我想添加一个任务来启动我的 Node 应用程序并观察目录中的更改并重新启动。我一直在使用 supervisor,node-dev(很棒),但我想运行一个命令并启动我的整个应用程序。必须有一个简单的方法来做到这一点,但我只是想念它。它也是用 coffeescript 编写的(不确定这是否改变了事情)...

module.exports = function(grunt) {
grunt.initConfig({
/*exec: {
startApi: {
command: "npm run-script start-api"
}
},*/
//static server
server: {
port: 3333,
base: './public',
keepalive: true
},

// Coffee to JS compilation
coffee: {
compile: {
files: {
'./public/js/*.js': './src/client/app/**/*.coffee'
},
options: {
//basePath: 'app/scripts'
}
}
},


mochaTest: {
all: ['test/**/*.*']
},


watch: {
coffee: {
files: './src/client/app/**/*.coffee',
tasks: 'coffee'
},
mochaTest: {
files: 'test/**/*.*',
tasks: 'mochaTest'
}
}
});

grunt.loadNpmTasks('grunt-contrib-coffee');
grunt.loadNpmTasks('grunt-mocha-test');
//grunt.loadNpmTasks('grunt-exec');

grunt.registerTask( 'default', 'server coffee mochaTest watch' );
};

正如您在评论中看到的,我尝试了 grunt-exec,但是 node 命令停止了其他任务的执行。

最佳答案

您可以将 grunt 设置为在启动 Node 应用程序时运行默认任务和监视任务:

在 app.js 中

var cp = require('child_process');
var grunt = cp.spawn('grunt', ['--force', 'default', 'watch'])

grunt.stdout.on('data', function(data) {
// relay output to console
console.log("%s", data)
});

然后像往常一样运行 node app!

Credit

关于node.js - 使用 watch 从 grunt 运行 Node 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com