घूंट शुरू करते समय मुझे एक समस्या का सामना करना पड़ा। मुझे जो जानकारी मिली है वह से है https://coder-coder.com/gulp-4-walk-through/< /a> और https://www.youtube.com/watch?v=-lG0kDeuSJk< /ए>.

मेरी gulpfile.js

// Initialize modules
const { src, dest, watch, series, parallel } = require('gulp');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
const concat = require('gulp-concat');
const postcss = require('gulp-postcss');
const replace = require('gulp-replace');
const sass = require('gulp-sass');
const sourcemaps = require('gulp-sourcemaps');
const terser = require('gulp-terser');

// File path variables
const files = {
  scssPath: './assets/styles/sass/**/*.scss',
  jsPath: './assets/js/**/*.js'
}

// Sass taks
function scssTask(){
 return src(files.scssPath)
   .pipe(sourcemaps.init())
   .pipe(sass())
   .pipe(postcss([ autoprefixer(), cssnano() ]))
   .pipe(sourcemaps.write('.'))
   .pipe(dest('dist'));
}

 // JS taks
 function jsTask(){
   return src(files.jsPath)
       .pipe(concat('main.js'))
       .pipe(terser())
       .pipe(dest('dist'));
 }

 // Cachebusting taks
 const cbString = new Date().getTime();
 function cacheBustTask(){
   return src(['index.html'])
       .pipe(replace(/cb=\d+/g, 'cb=' + cbString))
       .pipe(dest('.'));
 }     

 // Watch taks
 function watchTask(){
   watch([files.scssPath, files.jsFiles],
     series(
       parallel(scssTask, jsTask),
       cacheBustTask
     )
   );
 }
 // Default task
 exports.default = series(
   parallel(scssTask, jsTask),
   cacheBustTask,
   watchTask
 );

जब मैं फ़ोल्डर में कमांड गल्प शुरू करता हूं तो मुझे यह कहते हुए एक त्रुटि मिलती है:

[०९:५३:२५] १.८१ एमएस . के बाद 'वॉचटास्क' त्रुटिपूर्ण

[०९:५३:२५] लेखन त्रुटि: अपेक्षित एक स्ट्रिंग

at module.exports (D:\Web-Development\Startup\practise\sassStructure-Copy\node_modules\is-negated-glob\index.js:5:11)

at sortGlobs (D:\Web-Development\Startup\practise\sassStructure-Copy\node_modules\glob-watcher\index.js:66:18)

at Array.forEach (<anonymous>)

at watch (D:\Web-Development\Startup\practise\sassStructure-Copy\node_modules\glob-watcher\index.js:63:18)

at Gulp.watch (D:\Web-Development\Startup\practise\sassStructure-Copy\node_modules\gulp\index.js:48:10)

at watchTask (D:\Web-Development\Startup\practise\sassStructure-Copy\gulpfile.js:46:3)

at bound (domain.js:420:14)

at runBound (domain.js:433:12)

at asyncRunner (D:\Web-Development\Startup\practise\sassStructure-Copy\node_modules\async-done\index.js:55:18)

at processTicksAndRejections (internal/process/task_queues.js:75:11)

[०९:५३:२५] ७२१ एमएस . के बाद 'डिफ़ॉल्ट' त्रुटि

मैं इसे कैसे हल करूं? यह स्ट्रिंग की अपेक्षा करता है और मैं इसे एक स्ट्रिंग जेट देता हूं जो काम नहीं करता है। मैंने रख दिया है

   function watchTask(){
      watch([files.scssPath, files.jsFiles],
        series(
          parallel(scssTask, jsTask),
          cacheBustTask
        )
      );
    }

तब मुझे कोई त्रुटि नहीं मिलती है, वॉचटास्क शुरू होता है लेकिन कोई फाइल अपडेट नहीं होती है, बस मौन हाहा

यहाँ फ़ोल्डर संरचना है: [एक लिंक]https://i.ibb.co/LPYsxWG/brisi .png

क्या कोई मुझे समझा सकता है कि यह हर किसी की परियोजना की तरह स्ट्रिंग क्यों नहीं जानता है और मुझे इसे स्ट्रिंग में स्ट्रिंग में परिवर्तित करना होगा () और घड़ी फ़ंक्शन वॉचटास्क किसी भी अपडेट को क्यों नहीं पहचानता है? अग्रिम में धन्यवाद।

2
Branko Anokic 17 नवम्बर 2019, 12:48

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि आप गलत चर नाम का उपयोग कर रहे हैं। jsPath का उपयोग किया जाना चाहिए। किसी भी तरह, इसे और अधिक पठनीय बनाने का प्रयास करें ... उदाहरण के लिए आप इसका उपयोग कर सकते हैं:

const watch = function() {
    gulp.watch("./assets/styles/sass/**/*.scss", {usePolling : true}, gulp.series(css));
    gulp.watch("./assets/js/**/*.js", {usePolling : true}, gulp.series(js));
};

यदि आप इस कोड का उपयोग करते हैं तो यह आपके कोड की पहली पंक्ति में घूंट की आवश्यकता के लिए घड़ी के लिए आवश्यक नहीं है।

अंत में इस तरह से ब्लॉक बनाएं:

 // Default task
 exports.default = series(
   parallel(scssTask, jsTask),
   cacheBustTask,
   watch
 );

निर्यात.घड़ी = घड़ी;

1
Pikk 17 नवम्बर 2019, 13:04