2013-03-06 6 views
5

Próbuję użyć pomruku wewnątrz mojej ekspresowej aplikacji.grunt.task.run() nie działa

mam coś takiego:

var grunt = require('grunt'); 
require(process.cwd() + '/gruntfile.js')(grunt); 
grunt.task.run('development'); 

Zadanie jednak wydaje się, że nie jest wokring. (błąd nie jest wyprowadzany na konsolę) Ale jeśli uruchomię się bezpośrednio w konsoli "rozwój gruntu", to działa dobrze.

Odpowiedz

7

grunt.task.run dodaje tylko zadanie do kolejki, więc działa w ramach istniejącego zadania, ale nie w zewnętrznym skrypcie. Oto prosta technika, którą pożyczyłem od grunt/lib/grunt/cli.js. Uważaj - nie jest to część the official API. Grunt issue 687 zwraca uwagę na potrzebę oficjalnego interfejsu API dla tej funkcji.

var grunt = require('grunt'); 
process.chdir(__dirname); 
var config = require('./Gruntfile'); 
config(grunt); 
console.log('Minifying...'); 
grunt.tasks(['cssmin']); 
+1

Działa wspaniale, dzięki za udostępnienie! –

+0

Genialny! Teraz nie muszę instalować grunt-cli! – laike9m

+0

Jak mogę przekazać dodatkowe parametry parowania, takie jak --force lub --verbose w tym scenariuszu? – Ozil