`
hongtoushizi
  • 浏览: 376920 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Grunt Ground Zero

阅读更多

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 as devDependencies.

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模块详解** Grunt CLI(Command Line Interface)是Grunt的命令行界面工具,它是Grunt工作流程中的核心部分,允许开发者在终端中执行自动化任务。Grunt是JavaScript的世界里一个流行的构建工具,它能...

    grunt-cli压缩包-0.1.13版本

    `grunt-cli`是Grunt(一个JavaScript任务运行器)的命令行接口,它允许开发者在命令行中执行Grunt任务。这个压缩包包含了`grunt-cli`的0.1.13版本,这是一个早期但仍然被一些项目依赖的版本。在这个版本中,除了`...

    Grunt入门练习Demo

    **Grunt入门练习Demo** Grunt,作为JavaScript的构建工具,是前端开发中不可或缺的一部分。它通过自动化任务来简化重复性工作,如编译、压缩、测试等,从而提高开发效率。本Demo是基于《用grunt搭建自动化的web前端...

    Grunt 离线安装包

    **Grunt 离线安装包详解** 在前端开发领域,构建工具的使用越来越普遍,它们可以帮助开发者自动化处理各种任务,比如编译、压缩、测试等。Grunt 就是这样一款基于 Node.js 的任务运行器,它允许我们定义一系列的...

    grunt项目构建样例

    **Grunt项目构建样例详解** 在Web开发中,项目构建是提高开发效率和优化生产环境资源的关键步骤。`Grunt`是一个JavaScript任务运行器,它允许开发者通过配置文件定义一系列自动化任务,如代码编译、文件压缩、单元...

    grunt-contact 模块

    `grunt-contact`模块是Grunt工作流中的一个插件,用于简化前端开发过程中的任务自动化。Grunt是一款基于JavaScript的任务运行器,它可以帮助开发者执行预处理、编译、压缩、测试等一系列构建任务。在这个场景中,`...

    Grunt前端开发工具部署

    **Grunt前端开发工具部署** Grunt 是一个广泛使用的JavaScript任务运行器,它极大地提高了前端开发者的工作效率。Grunt 靠的是配置文件`Gruntfile.js`,在这个文件中,开发者可以定义一系列自动化任务,比如编译...

    Grunt安装与使用

    **Grunt安装与使用** Grunt是JavaScript世界中的一款任务自动化工具,它允许开发者通过配置文件定义一系列的任务,实现代码的编译、压缩、测试、部署等自动化工作流程。Grunt依赖于Node.js环境,因此在使用Grunt...

    grunt.js cookbook

    ### Grunt.js Cookbook知识点概述 #### 一、Grunt.js简介 Grunt.js是一个基于JavaScript的任务运行工具,它能够帮助开发者自动化重复性高的任务,如压缩文件、编译代码、测试等。通过定义一系列的任务(tasks),...

    Grunt的实例代码(快速理解Grunt的用法)(内含代码注释)

    Grunt是JavaScript的一个任务运行器,它通过自动化工作流程来提升开发效率,尤其在前端开发领域,如构建、测试、优化等。这个压缩包“GruntStones”可能包含了一系列的示例代码,旨在帮助初学者快速理解Grunt的用法...

    grunt demo

    **Grunt 概述** Grunt 是一个基于 Node.js 的自动化构建工具,它极大地提高了开发者的工作效率,通过预设的任务列表,可以实现一系列常见的前端开发流程,如代码编译、合并、压缩、测试等。Grunt 依赖于 JSON 格式...

    grunt 打包工具 混淆工具

    **Grunt:JavaScript的世界里的构建大师** 在JavaScript开发领域,自动化工具是不可或缺的一部分,而Grunt就是其中的一款强大且流行的构建工具。Grunt允许开发者通过配置文件定义一系列的任务,包括编译、测试、...

    grunt-cli是grunt的客户端,现提供的是基于redhat7.0_x64的客户端

    **Grunt 和 Grunt-CLI 简介** Grunt 是一个JavaScript任务运行器,它在前端开发领域广泛用于自动化工作流程,如编译、压缩、测试等。它通过配置文件(Gruntfile.js)来定义一系列的任务,使得开发者能够高效地管理...

    grunt-1.4.1.tar.gz

    《Grunt:JavaScript任务自动化工具详解》 在前端开发领域,效率是至关重要的。随着项目规模的扩大,手动处理诸如编译、压缩、合并、测试等重复性工作变得越来越繁重。为了解决这一问题,JavaScript社区诞生了众多...

    Grunt中文文档.doc

    **Grunt中文文档详解** Grunt是基于Node.js的一个自动化工具,主要用来处理前端开发中的构建任务,如编译、压缩、合并等。其管理和安装是通过Node.js的包管理器npm(Node Package Manager)进行的。为了使用Grunt,...

    grunt学习资料

    **Grunt 学习资料详解** Grunt 是一个基于任务的JavaScript构建工具,它通过预设的任务自动化项目构建过程,包括编译、测试、清理、压缩等。在前端开发中,Grunt 可以极大地提高工作效率,使得开发者能够专注于代码...

    Grunt自动化加密js环境

    在这个“Grunt自动化加密js环境”中,我们将深入探讨如何利用Grunt进行JavaScript文件的处理,特别是加密过程。 首先,Grunt基于Node.js环境运行,这意味着你需要先安装Node.js,获取npm(Node包管理器)才能继续。...

    grunt前端构建工具

    **Grunt 前端构建工具** Grunt 是一个基于任务的JavaScript项目构建工具,它允许开发者通过编写配置文件来自动化一系列的前端开发任务。这个压缩包包含了在执行`npm install grunt --save-dev`命令后安装的所有...

    Grunt+Less+jQuery配置源码

    **Grunt:自动化任务管理器** Grunt是JavaScript的一个任务运行器,它是基于Node.js的。Grunt的主要功能是通过预设的任务来自动化常见的Web开发工作,如编译、压缩、测试、部署等。它通过编写JSON格式的配置文件...

    grunt学习笔记

    **Grunt 学习笔记** Grunt 是一个基于任务运行器的 JavaScript 工具,它在前端开发领域中被广泛使用,主要用于自动化构建、测试、压缩、合并等任务,极大地提高了开发效率。Grunt 依赖于 Node.js 环境,并通过 npm...

Global site tag (gtag.js) - Google Analytics