[Web前端][构建工具]前端自动化构建工具介绍

2019-03-15  本文已影响0人  奔跑的程序媛A

“构建工具是将本地源文件按照一定的逻辑规范,编译打包成浏览器识别的文件,然后推送到相应服务器环境下供展示的一种前端工具,工具的目的就是帮助开发者降低开发成本,使开发者更加专注业务逻辑开发本身。”

何为构建?

把源代码生成可执行应用程序的过程自动化的程序,构建包括编译、连接跟把代码打包成可用的或可执行的形式。
前端的构建一般包括:

三类构建工具

本文主要介绍构建工具

1.Npm Scripts(NPM脚本)

NPM是安装Node时附带的一个包管理器,脚本功能是 npm 内置的最强大、最常用的功能之一。Npm Scripts(NPM脚本)是一个任务执行者。

什么是NPM脚本?

定义在package.json里面的脚本,就称为 npm 脚本。
举例说明:
在 package.json 文件里面使用 scripts 字段定义任务

{
    "scripts":{
        "dev": "node dev.js",
        "pub": "node build.js"
    }
}

上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段Shell脚本。
以上代码定义了两个任务,dev 和 pub。
命令行下使用npm run命令,就可以执行这段脚本。

$ npm run pub
# 等同于执行
$ node build.js

优点:

npm scripts 的优点是内置,无需安装其他依赖

缺点:

功能太简单,虽然提供了 pre 和 post 两个钩子,但不能方便的管理多个任务之间的依赖。

npm使用指南:
http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html

2. Gulp

Gulp是一个基于流的自动化构建工具。除了可以管理任务执行任务,还支持监听文件读写文件。Gulp 被设计的非常简单,只通过下面5个方法就可以支持几乎所有构建场景:

特点

引入了的概念,同时提供了一系列常用插件去处理流,流可以在插件之间传递

优点:

好用又不失灵活,既可以单独完成构建,也可以和其他工具搭配使用。

缺点:

集成度不高,要写很多配置后才可以用,无法做到开箱即用。

3. WebPack

Webpack 是一个打包模块化的JavaScript的工具,在Webpack里一切文件皆模块,通过 loader 转换文件,通过Plugin 注入钩子,最后输出由多个模块组合成的文件。Webpack 专注于构建模块化项目。

一切文件,如JavaScript、CSS、SCSS、图片、模板,对于Webpack 来说都是一个个模块

四大核心要素:

entry: 配置入口文件,即产生依赖关系图的入口
output:文件的产出位置配置
loader:匹配文件的编译过程
plugins:针对整个构建打包流程的插件处理(文件压缩,dev环境的热加载)

举例说明:

module.exports = {
    // 所有模块的入口,webpack从入口开始递归解析出所有依赖的模块
    entry: './app.js',
    output: {
        // 将入口所依赖的所有模块打包成一个文件 bundle.js 输出
        filename: 'bundle.js'
    }
}

优点:

缺点:

只能用于采用模块化开发的项目。

参考:
https://juejin.im/entry/5ae5c8c9f265da0b9f400d8e

上一篇 下一篇

猜你喜欢

热点阅读