自动化构建

开发行业的自动化构建 一句话把源代码转化为生产代码,作用是脱离运行环境兼容带来的问题开发阶段使用提高效率的语法,规范

和标准,构建转换那些不被支持的特性转化成能够执行的代码。

一.简单的自动化构建案例

简介:通过scss增强css的编程性,以及通过运行一些简单的命令行命令搭建启动服务,热加载,编译的简单的自动化构建功能,功能

比较简单,只做步骤说明用法及npm scripts代码截图展示....

首先安装sass yarn add sass --dev

通过node-modules找到.bin下面的sass路径 执行.\node_modules\.bin\sass命令 会指出具体用法,如下图所示可以看 要有个输入路

径和输出路径

运行指令.\node_modules\.bin\sass scss/main.scss css/style.css (输入输出为我自己的路径)每次都要去接收这些复杂的命令,不切

合实际,npm Scripts来解决这些问题

安装browser-sync --dev模块 用于启动测试服务器

preserve钩子命令 会在钩子命令执行serve之前去执行"preserve":"yarn build",也可以添加同时运行的模块 yarn add npm-run-all --

dev

二.常用的自动化构建工具

目前最流行的自动化构建工具grunt gulp fis

grunt最完善的构建工具,用官方的一句话说,grunt能够帮你构建你想要做的任何一件事情,缺点:基于磁盘读写,处理的环节越多,

文件读写的次数较多,对于大型项目构建速度比较慢。

gulp解决了grunt中构建速度比较慢的问题,gulp基于内存去实现的,默认同时去执行多个任务,实现方式相对于grunt更加直观易懂,

插件系统也基本完善,是目前最流行的自动化构建工具。

fis百度团队推出的一款构建系统,更像是一种捆绑套餐,资源加载,代码部署,性能优化都可以轻而易举的完成,国内很受欢迎,比较

适合新手。

三.grunt的基本使用

1.yarn init -y

2.yarn add grunt

3.根目录创建gruntfile.js文件

4.运行yarn grunt foo (yarn会找到node_modules中的命令,foo为我们注册的名字)

Grunt标记任务失败

在我们构建任务时。例如我们的文件找不到了,那我们就可以将这个任务标记为失败的任务具体实现,我们可以标记这个任务为return

false,具体实现如下图所示

Grunt配置选项方法

grunt添加了一些配置选项的api叫做initConfig,例如我们要压缩文件时,需要我们配置压缩文件的文件路径

Grunt 多目标任务

理解为子任务概念,后续通过grunt实现构建任务时非常有用

Grunt 插件的使用

grunt的核心,封装了一些通用的构建任务,下面举个插件例子,清除项目中的临时文件

yarn add grunt-contrib-clean

yarn grunt clean

Grunt 常用插件案例

yarn add grunt-sass sass --dev
yarn add grunt-babel @babel/core @babel/preset-env --dev
随着模块的复杂程度的增加,减少loadNpmTasks的使用load-grunt-tasks模块
yarn add load-grunt-tasks --dev
yarn add grunt-contrib-watch --dev 监听编译
yarn grunt

浅谈自动化构建之grunt的更多相关文章

  1. 浅谈自动化构建之gulp

    一.gulp的基本使用 gulp是目前最流行的前端自动化构建系统,核心特点高效易用.(这块不过多的废话了,直接上干货了,有兴趣的话,可以查下gulp简介) 步骤如下: yarn init -y yar ...

  2. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  3. JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  4. 前端自动化构建工具Grunt

    一.了解Gurnt(http://www.open-open.com/lib/view/open1433898272036.html) Grunt 是一个基于任务的JavaScript工程命令行构建工 ...

  5. 浅谈java构建工具的选择

    在学校的时候还总是自己用eclipse自带的jar导出工具,然后人工来给项目打包,那是相当的原始. 而后工作了,项目中都是用ant,慢慢的开始学会使用这个工具.感觉就和脚本一样,很容易读懂,做项目构建 ...

  6. 自动化构建工具grunt的学习

    关于grunt的一些记录,记的比较乱... 0.删除node_modules文件夹 命令行: npm install rimraf -g //先运行 rimraf node_modules //然后运 ...

  7. 浅谈标签构建——TagBuilder

    在很多项目中,可能我们需要写一些通用的控件标签,今天来简单的学习一下吧. 在前文中已经学习了 如何自定义MVC控件标签 ,感兴趣的朋友可以去看看. 今天主要还是讲解一下TagBuilder 我们打开源 ...

  8. 前端自动化构建工具-yoman浅谈

    如今随着前端技术的飞速发展,前端项目也变得越来越复杂. 快速的搭建一个集成多种工具和框架的复杂前端项目也越来越成为一种需求. 当然如果你要自己从0开始完全自己diy,绝对可以,只不过需要耗费一些不少的 ...

  9. 浅谈maven自动化构建工具

    转载https://blog.csdn.net/zxm1306192988/article/details/76209062 Maven是什么[what] 1.Maven 是 Apache 软件基金会 ...

随机推荐

  1. Windows下python+allure的下载、安装、配置与使用

    下载安装allure 1.Windows和mac均可选择从官网下载,下载地址: https://repo.maven.apache.org/maven2/io/qameta/allure/allure ...

  2. (已解决)'ng' 不是内部或外部命令,也不是可运行的程序或批处理文件

    前言: 之前在安装Angular环境的时候有个问题,就是通过命令成功安装了angular cli脚手架工具,但是在终端(win+r cmd)中输入ng version一直提示的是'ng' 不是内部或外 ...

  3. Java 持久层框架之 MyBatis

    MyBatis 简介 MyBatis 是一个基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需关注 SQL 语句本身,而不用再花费精力去处理诸如注册驱动.创建 Connection.配 ...

  4. Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...

  5. NET 5 依赖注入多个服务实现类

    依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来. 服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了 ...

  6. Redis中的常用命令哪些?

    a.hset 存储一个哈希键值对的集合 b.hget获取一个哈希键的值c.hdel 删除一个或多个字段 d.hgetall 获取一个哈希是键值对的集合 e.lpush key value向链表左侧添加 ...

  7. linux based bottlerocket-os

    linux based bottlerocket-os 概要 aws开源,专注与运行容器的linux os 参看 https://github.com/bottlerocket-os

  8. 基于LDAP&&Role-based Authorization Strategy实现Jenkins团队权限管理

    在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的view, 只能看到自己项目的jenkins job. 但是,jenkins默认的权限管理 ...

  9. 【JavaWeb】EL 表达式

    EL 表达式 简介 EL(Expression Language),即表达式语言. EL 表达式主要是代替 jsp 页面中 表达式脚本 在 jsp 页面中进行数据的输出,因为 EL 表达式在输出数据的 ...

  10. 【MyBatis】MyBatis 延迟加载策略

    MyBatis 延迟加载策略 文章源码 什么是延迟加载 延迟加载,就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据,也被成为懒加载. 好处:先从单表查询,需要时再从关联表去关联查询,大大提 ...