我在一个小节点项目上工作,我使用的是coffeescript,而不是客户端代码.我试图用grunt来建立我的开发环境.我已经实现了自定义grunt任务运行服务器,如下所示:
start = require './start' #just a function to start express.js application grunt.registerTask 'server','Starting server',-> grunt.log.write 'Preparing server to start' done = do @async start (err) -> grunt.log.write "server running at localhost:4000"
我也想使用grunt-contrib-watch插件运行“watch”任务:
grunt.initConfig watch: coffee: files: ['public/coffee/**/*.coffee'] tasks: ['coffee'] jade: files: ['public/jade/**/*.jade'] tasks: ['jade'] less: files: ['public/less/**/*.less'] tasks: ['less']
问题是:如何使这两个任务(监视和服务器)同时运行?我想要一台服务器运行,并且不想在每次更改一些客户端代码时重新加载它.提前致谢
解决方法
将其前缀到您的监视任务,并在服务器任务中摆脱done = do @async.
任务:[‘服务器’,’咖啡’]
您要在Grunt配置中指定服务器任务的选项“长时间运行”.那么只有在需要长时间运行的情况下才可以调用@async(没有手表任务).