zoukankan      html  css  js  c++  java
  • gulp几个常见问题及解决方案

    1. 找不到local gulp

    报错代码:

    $ gulp 
    [23:29:31] Local gulp not found in 
    [23:29:31] Try running: npm install gulp 
    

    解决:npm link gulp

    或者重新全局和项目安装gulp

    2. cannot find module 'gulp'

    报错代码:

    cannot find module 'gulp'**
    

    虽然项目中已经按照了gulp,但还是在输入gulp时,显示没找到gulp模块。

    解决方法是:全局和项目重装gulp

    全局: npm install -g gulp
    项目里: npm install gulp --save-dev
    

    3. 没带return返回语句

    报错代码:

    The following tasks did not complete: compass
    Did you forget to signal async completion?
    

    代码提示我们,是不是忘了写异步完成的标记?

    这个提示常常是在执行多个任务产生的

    加上 return返回值

    gulp的task任务要加上返回值,如果是单任务,没有return其实也是可以执行的,不会报错。

    当多任务执行,涉及到执行顺序时。没有return,就会导致当前任务还没完成就会同步执行下一个任务,就会报错。

    没加return:

    gulp.task('default', function() {
         gulp.src('src/entry.js')
        .pipe(webpack())
        .pipe(gulp.dest('dist/'));
    });
    

    加上return后:

    gulp.task('default', function() {
      return gulp.src('src/entry.js')
        .pipe(webpack())
        .pipe(gulp.dest('dist/'));
    });
    

    4. gulp 4.0版本问题

    报错代码

    Error:  watch task has to be a function 
    
    (optionally generated by using gulp.parallel or gulp.series)**
    

    这里提示要采用gulp.parallel or gulp.series方法来执行多任务,因为我安装的是 gulp 4.0,于之前版本用法不同。

    我报错的代码

    gulp.task('watch', function () {
    	//copyexceptminjs 是我定义的gulp任务
        gulp.watch('src/js/*.js', ['copyexceptminjs']);
    });
    

    b. 加入gulp.series或者gulp.parallel后

    gulp.task('watch', function () {
       gulp.watch('src/js/*.js', gulp.series('copyexceptminjs'));
    });
    
  • 相关阅读:
    [JS11] 状态栏滚动
    [JS10] 获取时间
    [JS9] document's bgColor改变背景颜色
    [JS8] 显示从(0,0)到(0,0)的坐标
    [JS7] 显示从0到99的100个数字
    使用StringBuilder或StringBuffer简单优化
    启动一个线程的三种方法
    设置IE浏览器指定的功能
    jquery 判断元素是否存在于数组中
    Hibernate validator验证
  • 原文地址:https://www.cnblogs.com/hjson/p/10546708.html
Copyright © 2011-2022 走看看