Grunt Ground Zero
Grunt is a popular task runner in the Node/JavaScript space. Any task you perform repeatedly is a good candidate to be automated via Grunt. On a typical development project you would automate building your SASS, linting your JavaScript, minifying your JavaScript, or compiling your CoffeeScript.
Step 1 - Install Grunt
Assuming you have Node already installed then you can install Grunt at the command-line with the following command. It is important to note this is not the Grunt Task Runner.
> npm install -g grunt-cli
The -g
command installs the grunt-cli
package globally. Now you can run grunt
from any directory.
Try running grunt
.
> grunt
# you should see something like this
...
Fatal error: Unable to find local grunt.
...
Step 2 - Adding Grunt to a New Project
We installed grunt-cli
globally but you will still need to install the grunt
module locally. Let's create a new folder for our new awesome project called learn-grunt
.
> mkdir learn-grunt
> cd learn-grunt
You will need to create a new file called package.json
. We add {}
to the file to make it a valid json file. Alternatively you can run npm init
but for this example we are going to keep it simple.
> echo '{}' > package.json
Here is how you install a local copy of grunt.
> npm install grunt --save-dev
Take a look at the contents of the package.json
file.
> cats package.json
# contents of package.json
{
"devDependencies": {
"grunt": "~0.4.2"
}
}
Any module dependencies you might have for your grunt tasks will be listed in your
package.json
file asdevDependencies
.
Let's see what tasks we currently have available.
> grunt --help
# output
...
If you're seeing this message, either a Gruntfile wasn't found or grunt
hasn't been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
...
You need a Grunt file to store your tasks so you don't see the above informational message.
Step 3 - Create a Grunt File
You will need a Grunt file named Gruntfile.js
or Gruntfile.coffee
to contain your Grunt tasks. In our case we will install a JavaScript minification module called Uglify that can be run by the Grunt task runner. Uglify is one of several available JavaScript minification tools.
> npm install grunt-contrib-uglify --save-dev
Look at the package.json file.
# contents of package.json
{
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-uglify": "~0.3.2"
}
}
We now need to register the grunt-contrib-uglify task in your Gruntfile.js so we can run it from the command line. Update your Gruntfile.js file to look like the following:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
my_target: {
files: [{
expand: true,
cwd: 'src',
src: '**/*.js',
dest: 'dest'
}]
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', ['uglify']);
};
Step 4 - Using Grunt
Now we can actually use Grunt to run our uglify task. Run grunt!
> grunt
Output
>> Destination (build/.min.js) not written because src files were empty.
Uh oh, we don't have any files to minify! Let's add some files so we can see the task "uglify" a JavaScript file.
> mkdir src
> touch src/index.js
> open src/index.js
Index.js file contents
function foo() {
var favoriteNumber = 100;
alert(favoriteNumber);
}
Run grunt again.
> grunt
There will be a new folder called dest
. Look at the file dest/index.js
.
function foo(){var a=100;alert(a)}
This article has shown the basics of understanding Grunt to run tasks.
References
转载自: http://polyglotprogrammer.com/grunt-ground-zero/
相关推荐
**Grunt CLI模块详解** Grunt CLI(Command Line Interface)是Grunt的命令行界面工具,它是Grunt工作流程中的核心部分,允许开发者在终端中执行自动化任务。Grunt是JavaScript的世界里一个流行的构建工具,它能...
`grunt-cli`是Grunt(一个JavaScript任务运行器)的命令行接口,它允许开发者在命令行中执行Grunt任务。这个压缩包包含了`grunt-cli`的0.1.13版本,这是一个早期但仍然被一些项目依赖的版本。在这个版本中,除了`...
**Grunt入门练习Demo** Grunt,作为JavaScript的构建工具,是前端开发中不可或缺的一部分。它通过自动化任务来简化重复性工作,如编译、压缩、测试等,从而提高开发效率。本Demo是基于《用grunt搭建自动化的web前端...
**Grunt 离线安装包详解** 在前端开发领域,构建工具的使用越来越普遍,它们可以帮助开发者自动化处理各种任务,比如编译、压缩、测试等。Grunt 就是这样一款基于 Node.js 的任务运行器,它允许我们定义一系列的...
**Grunt项目构建样例详解** 在Web开发中,项目构建是提高开发效率和优化生产环境资源的关键步骤。`Grunt`是一个JavaScript任务运行器,它允许开发者通过配置文件定义一系列自动化任务,如代码编译、文件压缩、单元...
`grunt-contact`模块是Grunt工作流中的一个插件,用于简化前端开发过程中的任务自动化。Grunt是一款基于JavaScript的任务运行器,它可以帮助开发者执行预处理、编译、压缩、测试等一系列构建任务。在这个场景中,`...
**Grunt前端开发工具部署** Grunt 是一个广泛使用的JavaScript任务运行器,它极大地提高了前端开发者的工作效率。Grunt 靠的是配置文件`Gruntfile.js`,在这个文件中,开发者可以定义一系列自动化任务,比如编译...
**Grunt安装与使用** Grunt是JavaScript世界中的一款任务自动化工具,它允许开发者通过配置文件定义一系列的任务,实现代码的编译、压缩、测试、部署等自动化工作流程。Grunt依赖于Node.js环境,因此在使用Grunt...
### Grunt.js Cookbook知识点概述 #### 一、Grunt.js简介 Grunt.js是一个基于JavaScript的任务运行工具,它能够帮助开发者自动化重复性高的任务,如压缩文件、编译代码、测试等。通过定义一系列的任务(tasks),...
Grunt是JavaScript的一个任务运行器,它通过自动化工作流程来提升开发效率,尤其在前端开发领域,如构建、测试、优化等。这个压缩包“GruntStones”可能包含了一系列的示例代码,旨在帮助初学者快速理解Grunt的用法...
**Grunt 概述** Grunt 是一个基于 Node.js 的自动化构建工具,它极大地提高了开发者的工作效率,通过预设的任务列表,可以实现一系列常见的前端开发流程,如代码编译、合并、压缩、测试等。Grunt 依赖于 JSON 格式...
**Grunt:JavaScript的世界里的构建大师** 在JavaScript开发领域,自动化工具是不可或缺的一部分,而Grunt就是其中的一款强大且流行的构建工具。Grunt允许开发者通过配置文件定义一系列的任务,包括编译、测试、...
**Grunt 和 Grunt-CLI 简介** Grunt 是一个JavaScript任务运行器,它在前端开发领域广泛用于自动化工作流程,如编译、压缩、测试等。它通过配置文件(Gruntfile.js)来定义一系列的任务,使得开发者能够高效地管理...
《Grunt:JavaScript任务自动化工具详解》 在前端开发领域,效率是至关重要的。随着项目规模的扩大,手动处理诸如编译、压缩、合并、测试等重复性工作变得越来越繁重。为了解决这一问题,JavaScript社区诞生了众多...
**Grunt中文文档详解** Grunt是基于Node.js的一个自动化工具,主要用来处理前端开发中的构建任务,如编译、压缩、合并等。其管理和安装是通过Node.js的包管理器npm(Node Package Manager)进行的。为了使用Grunt,...
**Grunt 学习资料详解** Grunt 是一个基于任务的JavaScript构建工具,它通过预设的任务自动化项目构建过程,包括编译、测试、清理、压缩等。在前端开发中,Grunt 可以极大地提高工作效率,使得开发者能够专注于代码...
在这个“Grunt自动化加密js环境”中,我们将深入探讨如何利用Grunt进行JavaScript文件的处理,特别是加密过程。 首先,Grunt基于Node.js环境运行,这意味着你需要先安装Node.js,获取npm(Node包管理器)才能继续。...
**Grunt 前端构建工具** Grunt 是一个基于任务的JavaScript项目构建工具,它允许开发者通过编写配置文件来自动化一系列的前端开发任务。这个压缩包包含了在执行`npm install grunt --save-dev`命令后安装的所有...
**Grunt:自动化任务管理器** Grunt是JavaScript的一个任务运行器,它是基于Node.js的。Grunt的主要功能是通过预设的任务来自动化常见的Web开发工作,如编译、压缩、测试、部署等。它通过编写JSON格式的配置文件...
**Grunt 学习笔记** Grunt 是一个基于任务运行器的 JavaScript 工具,它在前端开发领域中被广泛使用,主要用于自动化构建、测试、压缩、合并等任务,极大地提高了开发效率。Grunt 依赖于 Node.js 环境,并通过 npm...