美文网首页
gulp与webpack的区别

gulp与webpack的区别

作者: LIsPeri | 来源:发表于2017-08-19 16:16 被阅读0次

gulp

      gulp强调的是前端开发的工作流程,我们可以通过配置一系列的task,定义task处理的事务(例如文件压缩合并、雪碧图、启动server、版本控制等),然后定义执行顺序,来让gulp执行这些task,从而构建项目的整个前端开发流程。

webpack

      webpack是一个前端模块化方案,更侧重模块打包,我们可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署的前端资源。

相同功能:

        gulp与webpack可以实现一些相同功能,如下(列举部分):

功能 gulp webpack

  文件合并与压缩(css)  使用gulp-minify-css模块

gulp.task('sass',function(){
gulp.src(cssFiles)
.pipe(sass().on('error',sass.logError))
.pipe(require('gulp-minify-css')())
.pipe(gulp.dest(distFolder));
});
样式合并一般用到extract-text-webpack-plugin插件,
压缩则使用webpack.optimize.UglifyJsPlugin。

文件合并与压缩(js) 使用gulp-uglify和gulp-concat两个模块 js合并在模块化开始就已经做,
压缩则使用webpack.optimize.UglifyJsPlugin

sass/less预编译 使用gulp-sass/gulp-less 模块 sass-loader/less-loader 进行预处理
启动server 使用gulp-webserver模块

var webserver =require('gulp-webserver');
gulp.task('webserver',function(){
gulp.src('./')
.pipe(webserver({
host:'localhost',
port:8080,
livereload:true, //自动刷新
directoryListing:{
enable: true,
path:'./'
},
}));
}); 使用webpack-dev-server模块
module.exports = {
......
devServer: {
contentBase: "build/",
port:8080,
inline: true //实时刷新
}
}
版本控制 使用gulp-rev和gulp-rev-collector两个模块 将生成文件加上hash值
module.exports = {
......
output: {
......
filename: "[name].[hash:8].js"
},
plugins:[
......
new ExtractTextPlugin(style.[hash].css")
]
}

两者区别:
虽然都是前端自动化构建工具,但看他们的定位就知道不是对等的。
gulp严格上讲,模块化不是他强调的东西,他旨在规范前端开发流程。
webpack更是明显强调模块化开发,而那些文件压缩合并、预处理等功能,不过是他附带的功能。

总结:
gulp应该与grunt比较,而webpack应该与browserify(网上太多资料就这么说,这么说是没有错,不过单单这样一句话并不能让人清晰明了)。
gulp与webpack上是互补的,还是可替换的,取决于你项目的需求。如果只是个vue或react的单页应用,webpack也就够用;如果webpack某些功能使用起来麻烦甚至没有(雪碧图就没有),那就可以结合gulp一起用。

相关文章

  • 对webpack和gulp的理解

    【简单理解】gulp和webpack的区别 Gulp和Webpack的基本区别: gulp可以进行js,html,...

  • gulp与webpack区别

    Gulp和Webpack的基本区别: gulp可以进行js,html,css,img的压缩打包,是自动化构建工具,...

  • gulp与webpack的区别

    常有人拿gulp与webpack来比较,知道这两个构建工具功能上有重叠的地方,可单用,也可一起用,但本质的区别就没...

  • webpack与gulp的区别

    webpack是什么,提到这个概念,很多人可能立马说出来,模块化加载器兼打包工具,可以把各种资源都作为模块来使用和...

  • gulp与webpack的区别

    gulp webpack 相同功能: 功能 gulp webpack gulp.task('sass'...

  • gulp与webpack的区别

    一。gulp:强调的是前端开发的流程,通过配置一系列的task,定义task处理的事物(例如文件压缩合并、雪碧图、...

  • 面试准备git篇

    1、什么是webpack,与gulp有什么区别2、webpack打包原理3、Git版本回退命令4、Git和分支管理...

  • webpack 中的哪些常见概念

    webpack 打包工具与 gulp、grunt的区别: 虽然这三个都是打包工具,但是webpack是一个模块,它...

  • Webpack 和 gulp 的区别

    首先 gulp 和 browserify / webpack 不是一回事 gulp应该和grunt比较。它们的区别...

  • 金山WPS

    npm切换版本 webpack将抽离出来的css文件如何引用到文件中 webpack和gulp区别及webpack...

网友评论

      本文标题:gulp与webpack的区别

      本文链接:https://www.haomeiwen.com/subject/rssprxtx.html