美文网首页
Webpack是什么? Webpack与Grunt、Gulp有什

Webpack是什么? Webpack与Grunt、Gulp有什

作者: 时不我与_ | 来源:发表于2019-07-24 11:20 被阅读0次

    webpack是什么? webpack与grunt、gulp有什么不同?

    首先我们先回答这样的问题,这三者没什么可比性的。

    grunt和gulp在早期比较流行,属于前端工具类,主要优化前端工作流程。比如自动刷新页面、combo、压缩css、js、css预编译等等

    现在webpack相对来说比较主流,属于预编译模块的方案,不需要在浏览器中加载解释器。另外,你在本地直接写JS,不管是 AMD / CMD / ES6 风格的模块化,它都能认识,并且编译成浏览器认识的JS

    使用上的区别

    grunt和gulp是基于任务和流(Task、Stream)的。类似jQuery,找到一个(或一类)文件,对其做一系列链式操作,更新流上的数据, 整条链式操作构成了一个任务,多个任务就构成了整个web的构建流程

    gulp.task('dev',function(){
    gulp.src('src/js/*.js')
    .pipe(concat('all.js')) // 对其进行合并并且命名为 all.js
    .pipe(uglify()) // 压缩
    .pipe(rename('all.min.js')) // 重命名
    .pipe(gulp.dest('dist/js/'));// 输出压缩后的js
    })
    在目录下执行`gulp dev`即可执行上述操作
    // grunt这里就不在累述了,与gulp类似,只是稍微繁索一些,现在基本上用不上了
    

    webpack是基于入口的。会自动地递归解析入口所需要加载的所有资源文件,然后用不同的Loader来处理不同的文件,用Plugin来扩展webpack功能

    module.exports = {
    entry:'./entry.js', //入口文件
    output:{
    filename:'./bundle.js',//输出文件
    },
    module:{
        loaders:[
            ...loaders
        ]
      }
    }
    
    

    从构建思路来说,gulp和grunt需要开发者将整个前端构建过程拆分成多个 Task,并合理控制所有 Task的调用关系 webpack需要开发者找到入口,并需要清楚对于不同的资源应该使用什么Loader做何种解析和加工

    总结

    gulp,grunt是web构建工具
    webpack是模块化方案
    gulp,grunt是基于任务和流
    webpack基于入口文件

    相关文章

      网友评论

          本文标题:Webpack是什么? Webpack与Grunt、Gulp有什

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