记webpack、gulp打包与jenkins部署遇到的几个问题

 jenkins构建日志报错找不到对应node版本的依赖


缘由:
  1. 构建环境升级了node环境,可是缓存了依赖,此时项目构建找不到新版本node的依赖
解决办法:
  1. 清除该项目的工做空间,便可从新拉取


jenkins构建日志报错 拉取node-sass失败


缘由:
  1. 项目的package-lock.json 锁定了版本号以及地址,从npm拉取失败,致使没法从淘宝镜像拉取相应的依赖
解决方法:
  1. 删除线上的package-lock.json 再打包 会从新生成新的package-lock.json


构建项目 致使运行报错 'xxxxxx of undefined' 

例如:‘regiesterModule of undefined’  此方法是vuex的方法regiesterModule找不到,查看vuexGitHub版本更新日志可知 发现vuex分别在@2.5.0 和 @3.1.1版本 对registerModule进行了调整跟修复html


缘由可能以下:
  1. 构建环境的node版本过老
  2. 某个依赖版本太低/该模块被修复或者有更新(注意查看GitHub版本更新日志)
解决方法:
  1. 升级node版本,升级npm依赖版本,清除构建环境的工做空间


gulp编译失败

  • 报错日志一: ReferenceError: primordials is not defined

ReferenceError: primordials is not defined复制代码


缘由:vue

  1. node版本太高,gulp@3.x及如下的版本在node@11.x 和@12.x状况下不兼容

解决办法:node

  1. node版本降级
  2. gulp版本升级到4.x


  • 报错日志二: Task function must be specified


缘由:webpack

  1. gulp由低版本升级到gulp@4.x版本,对应的函数语法也有所改变。具体使用能够看官网文档,例如最经常使用到的建立任务函数gulp.task()
  2. task函数里面的链式调用须要加上return返回响应的对象来进行接下来的回调操做

// gulp3.x,task支持三个参数

gulp.task('sass', ['sass-name'], function() {
    ...
})

//在升级到gulp4.x后, task()只支持两个参数了,
  若是要使用三个参数,可使用新的gulp.series和gulp.parallel函数
gulp.task('sass', gulp.series('sass-name', function() {
    ...
}));

// 多个参数/任务
gulp.task('sass',  gulp.series(gulp.parallel('scripts', 'styles'), function() {    
    ...
}));

 
// 在gulp这里,返回的是gulp.src这个对象.接下来的回调能继续调用gulp.src去完成其余事情
function dev(gulp, files, config, dest, name) {    
    return gulp.src(files)        
        .pipe(webpack(config))        
            .pipe(replace(/#proj_name#\ml\/(.*?)\.html/g, name+"/$1")) 
                .pipe(replace(/#proj_name#/g, name)) 
                    .pipe(gulp.dest(dest))
}

复制代码

Gulp 提供了两个强大的组合方法: series()parallel(),容许将多个独立的任务组合为一个更大的操做。这两个方法均可以接受任意数目的任务(task)函数或已经组合的操做。 series()parallel() 能够互相嵌套至任意深度  -- gulp中文文档


  • 报错日志三:Did you forget to signal async completion?


缘由:web

  1. 升级到gulp@4.x版本后,调用函数都要返回一个回调函数在task完成时通知Gulp

// 解决方法
gulp.task('test', done => {
  console.log('HelloWorld!');
  done();
});复制代码
相关文章
相关标签/搜索