博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用grunt搭建自动化的web前端开发环境-完整教程
阅读量:5756 次
发布时间:2019-06-18

本文共 2977 字,大约阅读时间需要 9 分钟。

你没有理由不学、不用! jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,

grunt是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:压缩文件,合并文件,简单语法检查。

GRUNT JavaScript 世界的构建工具

为何要用构建工具?

一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作。

为什么要使用Grunt?

Grunt生态系统非常庞大,并且一直在增长。由于拥有数量庞大的插件可供选择,因此,你可以利用Grunt自动完成任何事,并且花费最少的代价。如果找不到你所需要的插件,那就自己动手创造一个Grunt插件,然后将其发布到npm上吧。

可用的Grunt插件

你所需要的大多数task都已经作为Grunt插件被开发了出来,并且每天都有更多的插件诞生。插件列表页面列出了完整的清单。

Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器。
提前感受一下 Grunt 吧!
安装 grunt 虽然很简单,更多涉及到如何运行项目。看看下面的演示

第一步 肯定是要安装Nodejs的啦,方法可以看我上篇的VUE里面有介绍

第二步 安装grunt-CLI

“CLI”被翻译为“命令行”。要想使用grunt,首先必须将grunt-cli安装到全局环境中,使用nodejs的“npm install…”进行安装。

输入:**npm install -g grunt-cli**
注意,mac os 系统、部分linux系统中,在这句话的前面加上“sudo ”指令。

clipboard.png

像介个样子呢 就是安装成功了

第三步 创建一个简单的网站

clipboard.png

蓝后,重点来了,增加俩个文件夹

clipboard.png

package.json增加点内容

clipboard.png

“devDependencies”是什么意思?字面意思解释是“开发依赖项”,即我们现在这个系统,将会依赖于哪些工具来开发。现在代码一行都没有写,依赖于谁?谁也不依赖!所以,就先写一个空对象。但是下文会慢慢把它填充起来

第四步 安装grunt

输入**npm install grunt --save-dev**

clipboard.png

运行完后 有俩个地方会发生改变
第一个 ** "grunt": "^1.0.1",**

clipboard.png

第二个 **多了一个文件夹**

clipboard.png

然后你在控制台运行“grunt”命令。
如果你得到一个warning提示,那说明grunt已经起作用了。如下图:

clipboard.png

如果出现这个,说明grunt已经在这个目录下成功安装。

那么,为何我们在刚才执行grunt时候会有Warning提示呢?根据提示,我们得知的信息是:Task “default” not found ,如何搞定这个问题?——当然是继续往下看啊。

第五步 配置Gruntfile.js

//包装函数module.exports = function (grunt) {    //任务配置,所有插件的配置信息    grunt.initConfig({        //获取 package.json 的信息        pkg: grunt.file.readJSON('package.json'),            });    //告诉grunt当我们在终端中输入grunt时需要做什么 注意先后顺序    grunt.registerTask('default', ['jshint','uglify','watch']);};

grunt集全世界web前端开发的智慧于一身,比你想想的更加强大,它的插件库能应对你在web前端开发遇到的任何事情。

第六步 使用grunt插件

1.使用uglify插件(压缩javascript代码)

输入**npm install grunt-contrib-uglify --save-dev**

clipboard.png

看出来我上图哪里错了么,uglify 打成uplify ,还连着打错三四遍真是造孽哇,真的是要被自己蠢哭3W遍,你们命令单词可一定要看清楚哦

命令执行完之后 看下图

clipboard.png

多了个 "grunt-contrib-uglify": "^3.0.1"

我们既然要使用uglify来压缩javascript代码,当然得创建一个js文件来做实验。我们在现有的“src”文件夹中新建一个“test.js”,并随便写一些代码

clipboard.png

测试文件建立好了。我们接下来就要把这个js文件进行压缩。

当然,要压缩谁?往哪里压缩?这些都需要配置,在Gruntfile.js中配置。分为三步:
第一步,在grunt.initConfig方法中配置 uglify 的配置参数。如下图:

clipboard.png

//包装函数module.exports = function (grunt) {    //任务配置,所有插件的配置信息    grunt.initConfig({        //获取 package.json 的信息        pkg: grunt.file.readJSON('package.json'),        //uglify插件的配置信息:用来压缩javascript文件        uglify: {            options: {                stripBanners: true,                banner: '/*! <%= pkg.name %> */\n/*! <%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',            },            build: {                src: 'src/test.js',                dest: 'build/<%= pkg.name%>-<%= pkg.version%>.js.min.js'            }        },           });};

第二步,在 grunt.initConfig 方法之后,要让grunt去加载这一个插件。光配置了,不加载上,如何用啊?

clipboard.png

//告诉grunt我们将使用插件grunt.loadNpmTasks('grunt-contrib-uglify');  //告诉grunt当我们在终端中输入grunt时需要做什么 注意先后顺序grunt.registerTask('default', ['uglify');

在控制台中运行grunt命令,并可以去build文件目录下查看是否有一个被压缩的js文件

clipboard.png

clipboard.png

以上就是uglify插件的详细安装、配置说明。Javascript使用uglify压缩,css可使用cssmin插件压缩。安装、配置方法一样的,不再赘述。

今天就写到这里吧

本宝宝情绪不佳
等心情变美丽了继续接着写
呜哇 下班要去吃小龙虾才能拯救我这颗不美丽的小心脏

转载地址:http://oevkx.baihongyu.com/

你可能感兴趣的文章
微信小程序之wx.navigateback往回携带参数
查看>>
陌陌和请吃饭之类的应用,你要是能玩转,那就厉害了
查看>>
递归的运行机制简单理解
查看>>
汉字转阿斯克马值
查看>>
Java 栈与堆简介
查看>>
【supervisord】部署单进程服务的利器
查看>>
zabbix oracle监控插件orabbix部署安装
查看>>
python3 通过qq 服务器 发送邮件
查看>>
java 多线程踩过的坑
查看>>
部署Replica Sets及查看相关配置
查看>>
倒序显示数组(从右往左)
查看>>
文献综述二:UML技术在行业资源平台系统建模中的应用
查看>>
阿里云服务器 linux下载 jdk
查看>>
Swift 学习 用 swift 调用 oc
查看>>
第三章 Python 的容器: 列表、元组、字典与集合
查看>>
微信小程序开发 -- 点击右上角实现转发功能
查看>>
与MS Project相关的两个项目
查看>>
[转载]ASP.NET MVC Music Store教程(1):概述和新项目
查看>>
js函数大全
查看>>
iOS app exception的解决方案
查看>>