কনসোল.লগ g


86

যখন কোনও গাল্প টাস্কটি চলমান থাকে বা চলে তখন আমি স্টাডআউট (কনফিগার পরিবেশ) এ লগ করতে চাই want

এটার মতো কিছু:

gulp.task('scripts', function () {
  var enviroment = argv.env || 'development';
  var config = gulp.src('config/' + enviroment + '.json')
      .pipe(ngConstant({name: 'app.config'}));
  var scripts = gulp.src('js/*');

  return es.merge(config, scripts)
    .pipe(concat('app.js'))
    .pipe(gulp.dest('app/dist'))
    .on('success', function() { 
      console.log('Configured environment: ' + environment);
    });
});

আমি নিশ্চিত না যে আমার কোন ইভেন্টে সাড়া দেওয়া উচিত বা এগুলির একটি তালিকা কোথায় সন্ধান করতে হবে। কোন পয়েন্টার? অনেক ধন্যবাদ.

উত্তর:


170

(ডিসেম্বর 2017 এ, gulp-utilলগিং সরবরাহকারী মডিউলটি অবনতি হয়েছে The গুলপ টিমটি বিকাশকারীদের fancy-logমডিউলটির সাথে এই কার্যকারিতাটি প্রতিস্থাপন করার পরামর্শ দিয়েছে that এই উত্তরটি প্রতিফলিত করার জন্য আপডেট করা হয়েছে))

fancy-log লগিং সরবরাহ করে এবং মূলত গুল্প টিম দ্বারা নির্মিত হয়েছিল।

var log = require('fancy-log');
log('Hello world!');

লগিং যুক্ত করতে, গুল্পের এপিআই ডকুমেন্টেশন আমাদের বলে দেয় যে .src:

প্লাগইনগুলিতে পাইপ করা যায় এমন ভিনাইল ফাইলগুলির একটি স্ট্রিম ফিরিয়ে দেয়।

নোড.জেএস এর Streamডকুমেন্টেশন ইভেন্টগুলির একটি তালিকা সরবরাহ করে। একসাথে রাখুন, এখানে একটি উদাহরণ:

gulp.task('default', function() {
    return gulp.src('main.scss')
        .pipe(sass({ style: 'expanded' }))
        .on('end', function(){ log('Almost there...'); })
        .pipe(minifycss())
        .pipe(gulp.dest('.'))
        .on('end', function(){ log('Done!'); });
});

দ্রষ্টব্য: endপ্লাগইনটি সম্পূর্ণ হওয়ার আগে ইভেন্টটিকে ডাকা হতে পারে (এবং এর নিজস্ব আউটপুট সমস্ত প্রেরণ করেছে), কারণ ইভেন্টটি যখন তখন "সমস্ত ডেটা অন্তর্নিহিত সিস্টেমে ফ্লাশ করা হয়" বলা হয়।


4
.on('end', () => gutil.log('ES6 arrow syntax for simplicity...') )
ফ্রাঙ্ক নোক

12
কোনও ধারণা কেন একটি সরঞ্জামের আদৌ প্রয়োজন? কেন console.logকাজ করে না ?
অ্যালেক্স ম্যাকমিলান

4
@ অ্যালেক্সমিসমিলান .on('end', function(){ console.log('Almost there...'); })আমার পক্ষে কাজ করে।
ডেভি

4
@ অ্যালেক্সমিসিমিলান এটি লগের বাকি অংশের মতো একই স্টাইলের আউটপুটটিকে সুন্দর-প্রিন্ট করে যাতে আপনি টাইমার পেতে পারেন।
মিসানফোর্ড

4
আজ (ডিসেম্বর 2017) এর হিসাবে, gulp-utilঅবচিত হয়েছে: medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
m90

14

(দয়া করে নোট করুন - ডিসেম্বর 2017 এ, gulp-utilমডিউলটি অবনতি হয়েছে was)

জ্যাকব বুডিনের উত্তরের জন্য , আমি সম্প্রতি এটি চেষ্টা করেছি এবং এটি দরকারী বলে মনে করেছি।

var gulp = require("gulp");
var util = require("gulp-util");
var changed = require("gulp-changed");

gulp.task("copyIfChanged", function() {
    var nSrc=0, nDes=0, dest="build/js";
    gulp.src("app/**/*.js")
    .on("data", function() { nSrc+=1;})
    .pipe(changed(dest)) //filter out src files not newer than dest
    .pipe(gulp.dest(dest))
    .on("data", function() { nDes+=1;})
    .on("finish", function() {
        util.log("Results for app/**/*.js");
        util.log("# src files: ", nSrc);
        util.log("# dest files:", nDes);
    });
}

.on("end")এবং .on("finish")কি দ্বারা পৃথক?
ফ্রাঙ্ক নোক্ক

4
আমি এটি বুঝতে পেরেছি, writable.on('finish')যখন readable.on('end')না পারে তখন গুলি চালাবে । এক্ষেত্রে সঠিক ঘটনাটি তাত্পর্যপূর্ণ নয় - আমি দরকারী পরিসংখ্যান লগ করতে আরও বেশি মনোনিবেশ করেছিলাম।
ট্র্যাভেডেক

প্রতি বর্তমান (7.5.0) ডকুমেন্টেশন হিসাবে: " 'finish'এবং 'end'ঘটনা থেকে এসেছ stream.Writableএবং stream.Readableযথাক্রমে ক্লাস।" @ ফ্র্যাঙ্কনোক
মিসানফোর্ড

gulp-utilfancy-log
অবহেলা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.