基于Node.js的自动化构建工具Grunt.js

Java世界里的Maven提供了强大的包依赖管理和构建生命周期管理。在JavaScript的世界 里,随着Node.js的流行,JavaScript原生的构建工具已经成为可能。

Grunt.js是基 于Node.js的自动化任务运行器。Grunt.js结合NPM的包依赖管理,完全可以媲美Maven。 Grunt.js天然适合前端应用程序的构建——不仅限于JavaScript项目,同样可以用于其他语 言的应用程序构建。越来越多的JavaScript项目已经在使用Grunt,其中最大的使用者包括著 名的jQuery项目。

Grunt的生态系统在迅速的成长,目前已经有上百种插件发布在NPM 上可供选择。同时,任何人都可以方便的发布自己的插件到NPM上供其他人使用。

Grunt没有像Maven那样强调构建的生命周期,各种任务的执行顺序可以随意配置。 Grunt本身仅是一个执行器,大量的功能都存在于NPM管理的插件中。特别是以grunt- contrib-开头的核心插件,覆盖了大部分的核心功能,比如handlebars,jade,less, compass,jshint,jasmine,clean,concat,minify,copy,uglify,watch,minify, uglify等。

通过提供通用的接口以进行代码规范检验(Lint)、合并、压缩、测试及 版本控制等任务,Grunt使入门门槛大大降低了。

安装

Grunt目前的最新版本 为v0.4版。相比v0.3版,Grunt本身不再作为一个整体全局模块安装,而是分为了三个部分: grunt,grunt-cli,grunt-init。

grunt-cli用于命令行启动Grunt,必须作为全局模 块安装:

npm install -g grunt-cli

grunt-init是可选的,用于以命令行新 建Grunt项目模板,必须作为全局模块来安装:

npm install -g grunt- init

Grunt核心作为项目或插件的依赖包而单独存在,避免由于不同的插件依赖的 Grunt版本不同而造成的冲突。

新建项目工程

在命令行中执行  grunt init

无论新建项目是应用程序还是一个Grunt插件,Grunt生成的工程都是一个标准的 NPM模块。

新工程目录下有两个文件非常重要:

package.json: NPM的发布配 置文件,包含了包依赖信息和项目工程的元数据。熟悉Node.js的读者应该不陌生。

gruntfile.js: Grunt配置文件,用于配置或定义Grunt任务,以及加载Grunt插件等 。

Grunt任务配置

所有的任务配置都存在gruntfile.js中。作为JavaScript 源文件,其配置信息以JSON对象的方式来存放,并可以使用JS函数来动态生成,比Maven的 XML配置方式更加简洁和富有灵活性。一份典型的gruntfile如下:

module.exports = function(grunt) {

  // 项目配置信息.

  grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    uglify: {

      options: {

        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-

dd") %> */\n'

      },

      build: {

        src: 'src/<%= pkg.name %>.js',

        dest: 'build/<%= pkg.name %>.min.js'

      }

    }

  });

  // 加载"uglify"插件..

  grunt.loadNpmTasks('grunt-contrib-uglify');

  // 注册默认任务.

  grunt.registerTask('default', ['uglify']);

};

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索grunt
, handlebars的使用
, 插件
, 项目
, 配置
, grunt serve
, yo webapp grunt
, grunt cssmin
, js合并json
, 任务
, grunt插件开发
, npm缺少模块
, package.json
npm配置
grunt构建工具、前端构建工具grunt、node.js 构建工具、node 构建工具、前端自动化构建工具,以便于您获取更多的相关知识。

时间: 2024-09-09 20:19:00

基于Node.js的自动化构建工具Grunt.js的相关文章

Node.js的项目构建工具Grunt的安装与配置教程_node.js

Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等.此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理. 所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作. 安装 Grunt-cli其实是安装 Grunt-cli ,这里安装Gru

在Mac OS上安装使用Node.js的项目自动化构建工具Gulp_node.js

安装 node.js首先需要安装 node.js, 通常情况下,只需要到 Node.js 官网下载安装包安装就可以了.不过我可耻的失败了,弹出了如下错误: 于是我换成了 brew 大法: brew install nodejs 安装 Gulp gulp 使用 Node.js 的 npm 命令安装: npm install --global gulp 然后在项目目录中还要安装一遍: npm install --save-dev gulp 我对这步的操作比较费解.以我多年码农经验,即然全局安装过了,

静态代码检查-c++有没有和JAVA的gradle类似的自动化构建工具?

问题描述 c++有没有和JAVA的gradle类似的自动化构建工具? c++有没有和JAVA的gradle类似的自动化构建工具?并且检查效率比较高,速度比较快 解决方案 cmake可以.还有像scons之类的

使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目_node.js

Grunt 简介Grunt是一款基于js和node.js的构建工具,由于这段时间node.js越来越火爆,grunt拥有丰富的开源社区支持,产生了很多插件.还有一些插件散落在node社区.构建是一个和宽泛的表述,传统理解就是编译.打包.复制,而今,随着技术越来越丰富,构建还包括对前端组件的预处理,比如sass.less预处理成css,css和js的压缩和合并.grunt的插件可以很好的支持这些新的构建概念,而且更为适合用开源技术堆砌的项目. 虽然Grunt更多的用于程序构建,但是本质上Grunt

基于 Groovy 的自动化构建工具 Gradle 入门(转)

  本人工作之初没有使用自动化构建,后来敏捷了,开始使用 Ant - 完全面向过程的定义步骤,不进行依赖管理.再发展到 Maven,面向对象的方式管理工程,有了依赖的管理,JAR 包统一从中央仓库获得,保存在本地库.同时产生了 Ivy + Ant,让 Ant 也能管理依赖,不过 JAR 包依赖仓库也是用 Maven 的. 前面都是用 XML 来配置的,虽说 XML 的标签描述性也很强,但阅读性还是有些牵强,并且 Maven 和 Ant+Ivy 都需要 IDE 的支持,比如在 Eclipse 中有

SqlPad —— 基于 Node 的在线 SQL 查询工具

SqlPad 是一个基于 Node.js 开发的直接在浏览器运行 SQL 查询并对结果进行可视化展示.支持 PostgreSQL.MySQL 和 SQL Server. 文章转载自 开源中国社区 [http://www.oschina.net]

Node.js实现JS文件合并小工具_node.js

临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了. 代码如下所示: /*符合CommonJs规范*/ var writePath = 'min.js',/*默认输出到本目录min.js文件里*/ fs = require('fs'), r1 = /^(.+)$/mg,/*分行*/ r2 = /\s{2,}/g,/*去空格*/ r3 = /([

Python自动化构建工具scons使用入门笔记_python

这段时间用到了scons,这里总结下,也方便我以后查阅. 一.安装sconsLinux环境(以CentOS为例) 1.yum安装 yum install scons 2.源码安装 下载scons:http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip 安装scons:python setup.py install 二.scons常用命令 scons -c : 可以清除生成的临时文件和目标文件

基于Agile模式的WebSphere Commerce产品的自动化构建与部署框架(1)

增量代码的自动构建与部署框架介绍 概念和工具介绍 Agile 与 Delta Code Agile -敏捷开发.近些年开始被人们广泛关注.它 提倡将一个完整的软件版本划分为多个迭代周期.每个迭代实现不同的特性.重大的,优先级高的特性优先实 现,风险高的特性优先实现.在项目的早期就将软件的原型开发出来,并基于这个原型在后续的迭代中不断完 善. Delta Code -增量代码.在 Agile 开发模式中,开发人员基于软件原型不断的编写代码对其进 行完善和扩充.这些代码就称之为增量代码. 本文介绍的