2015-02-03 16 views
6

Ben önce benim bazı görevlerle gulpfile.js ve benGulp kanca 'cordova inşa xxx'

cordova build Bir js basit console.log("a") ile hooks klasörün içinde bir before_build klasör oluşturdu do tek görev yapmak istiyorsun dosya.

Ancak, örneğin cordova build android'console' is undefined diyor, ancak Javascript'i çalıştırmak için başka bir şey yapmalı mıyım? Daha fazla bilgi bulamadım.

Teşekkürler!

DÜZENLEME: Burada, gulp is not defined

cevap

8

içine dosyası olduğunu dosyanın before_build/010_compile_css.js Bu kodu yapıştırarak Düğümü ayrılmadan çalıştırabilirsiniz:

#!/usr/bin/env node 

var gulp = require('gulp'); 
var path = require('path'); 

var rootdir = process.argv[2]; 
var gulpfile = path.join(rootdir, 'gulpfile.js'); 

process.stdout.write('Compiling SCSS'); 

require(gulpfile); 

//interaction 
gulp.start('scss'); 
+0

Cordova kancaları gerektiği gibi senkronize olarak gulp.start() tamamlanacak mı? –

+0

gulp.start() öğesinin kaldırıldığını ve kaldırılması planlandığını buldum: https://github.com/gulpjs/gulp/issues/505 .. Bu bir yıl önceydi! –

+0

En son Cordova, artık kanca klasörünü kullanmayı önermiyor, yakında kullanımdan kaldırılacak. Lütfen @David Douglas – wajatimur

3

Sonunda komutunu çalıştırabilir

benim .js dosyasının en ve console.log işlerde #!/usr/bin/env node eklendi ama şimdi gulp myTask yapmak istiyorum ve bana atıyor benim js hooks/before_build

#!/usr/bin/env node 
var sys = require('sys') 
var exec = require('child_process').exec; 
function puts(error, stdout, stderr) { sys.puts(stdout) } 
exec("gulp", puts); 
+0

değil başka düğüm komut dosyası (gulp) çalıştırmak için düğümden yeni bir süreç oluştururken beri en iyi çözüm. – AlexStack

+0

@AlexStack, bu yüzden daha iyi bir çözüm olduğunu düşünüyorsunuz? –

+0

En çok oy alan çözümü beğeniyorum. – AlexStack

4

'gulpfile.js' dosyasını gerektirmek için __dirname kullanmak zorunda kaldım.

NB: 'gulpfile.js' ve 'hook.js' burada aynı dizinde. Sen Cordova'nın Config.xml dosyasında js dosyasını kanca özel yolunu ayarlayabilirsiniz:

<hook type="before_build" src="app/hook.js" /> 
+0

önerisine göre JS yöntemini kullanın. Ayrıca, Corborne hook komut dosyalarının kök proje dizininden hareket ettiğinden emin olun, böylece gulpfile.js dosyanız bir alt dizin içinde çalışıyorsa dosya yolu sorunlarına girebilirsiniz. –