Grunt JS构建环境搭建以及使用入门

Grunt JS构建环境搭建以及使用入门

1.应用场景

一种自动化任务处理工具,对于日常的需求(代码规则检查、代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js便能用一句代码行进行依赖下载。

2.搭建步骤

Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js,然后开始安装 Grunt。

2.1安装 Node.js

进入nodejs官网https://nodejs.org/en/download/,根据当前机型选择对应版本下载安装后,以管理员身份打开cmd命令行工具输入命令后便完成了nodeJs的配置:

npm config set registry=http://registry.npm.taobao.org

2.2安装Grunt

实际上,安装的并不是 Grunt,而是 Grunt-cli,也就是命令行的 Grunt,这样你就可以使用 grunt 命令来执行某个项目中的 Gruntfile.js 中定义的 task 。但是要注意,Grunt-cli 只是一个命令行工具,用来执行,而不是 Grunt 这个工具本身。

安装 Grunt-cli 需要使用 NPM,使用下面一行即可在全局范围安装 Grunt-cli ,换句话说,就是你可以在任何地方执行 grunt 命令:

npm install -g grunt-cli

注意:因为使用 -g 命令会安装到全局,可能会涉及到系统敏感目录,如果用 Windows 的话,可能需要你用管理员权限,如果用 OS X / Linux 的话,你可能需要加上 sudo 命令。

2.3生成 package.json 文件

package.json 文件其实是 Node.js 来描述一个项目的文件,JSON 格式。生成这个文件超级简单,推荐用命令行交互式的生成一下。

打开命令行,cd 项目文件夹目录下面,输入指令 npm init 之后,就出来很多信息,然后开始填写项目名称,填写好了之后回车即可。

2.4安装所需要的插件

对于目前最多需求的插件

语法检查:grunt-contrib-jshint

监听文件变动:grunt-contrib-watch

r.js插件:grunt-contrib-requirejs

命令行语法:

npm install <插件名> --save-dev

如安装语法检查插件:

npm install grunt-contrib-jshint --save-dev

表示通过 npm 安装了 grunt 到当前项目,同时加上了 —save-dev 参数,表示会把刚安装的东西添加到 package.json 文件中。

运行完命令行后,项目目录会多了个node_modules 文件夹,里面保存了命令行所下载的依赖程序包。

注意grunt-contrib-watch是实现自动化执行任务的关键。

2.5配置 Gruntfile.js 的语法

配置代码包裹在

module.exports = function(grunt) {

    ...

};

里面,内部编写的主要有三块代码:任务配置代码、插件加载代码、任务注册代码。

2.5.6任务配置代码

例如下面代码:

  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‘

      }

    }

  });

任务配置代码以对象格式放在 grunt.initConfig 函数里面,其中先写了一句 pkg: grunt.file.readJSON(‘package.json‘) 功能是读取 package.json 文件,并把里面的信息获取出来,方便在后面任务中应用(例如下面就用了 <%= pkg.name %> 来输出项目名称),这样可以提高灵活性。之后就是 uglify 对象,这个名字是固定的,表示下面任务是调用 uglify 插件的,首先先配置了一些全局的 options 然后新建了一个 build 任务。

2.5.7插件加载代码

由于上面任务需要用到 grunt-contrib-uglify,当 grunt-contrib-uglify 安装到我们的项目之后,写下下面代码即可加载:

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

2.5.8任务注册代码

注册一下任务,使用

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

意思是在 default 上面注册了一个 Uglify 任务,default 就是别名,它是默认的 task,当你在项目目录执行 grunt 的时候,它会执行注册到 default 上面的任务。

当我们执行 grunt 命令的时候,uglify 的所有代码将会执行。我们也可以注册别的 task,例如:

grunt.registerTask(‘compress‘, [‘uglify:build‘]);

如果想要执行这个task,我们就不能只输入 grunt 命令了,我们需要输入 grunt compress 命令来执行这条 task,而这条 task 的任务是 uglify 下面的 build 任务,也就是说,我们只会执行 uglify 里面 build 定义的任务,而不会执行 uglify 里面定义的其他任务。

这里需要注意的是,task 的命名不能与后面的任务配置同名,也就是说这里的 compress 不能命名成 uglify,这样会报错或者产生意外情况。

基本配置完成后,再配置 watch 来监听文件变动,当文件变化了(我们编写保存了),自动执行某些任务,这样子就能够实现了自动化任务节约了不断输入grunt命令的工作。

完整配置代码:

module.exports = function(grunt) {
  grunt.initConfig({

    pkg: grunt.file.readJSON(‘package.json‘),
    watch: {
      scripts: {
        files: [‘src/**/*.js‘,‘src/*.js‘],
        tasks: [‘uglify‘],
        options: {
          spawn: false,
        }
      }
    },
    uglify: {
      options: {
        banner: ‘/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n‘
      },
      build: {
        src: ‘src/<%= pkg.name %>.js‘,
        dest: ‘build/<%= pkg.name %>.min.js‘
      }
    }
  });

  grunt.loadNpmTasks(‘grunt-contrib-uglify‘);
  grunt.loadNpmTasks(‘grunt-contrib-watch‘);

  grunt.registerTask(‘default‘, [‘watch‘]);
};

  

时间: 2024-11-20 23:12:09

Grunt JS构建环境搭建以及使用入门的相关文章

Grunt自动化构建环境搭建

1.环境准备 需要有Node.NPM.Grunt.Ruby 2.安装Node 访问https://nodejs.org/en/ 3.安装Ruby 访问http://rubyinstaller.org/downloads/archives 验证 node -v npm -v ruby -v 4.安装Grunt npm install -g grunt-cli 5.安装Grunt插件 npm install grunt-contrib-sass grunt-contrib-uglify grunt-

windows下vue.js开发环境搭建教程

这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用Vue.js 的构建工具都已经升级到2.0版本了),经过了一段时间的摸索和看官方的教程和api,才了解到2.0版本在1.0版本的基础上做了好多调整,废弃了好多api.废话不多说

vue.js开发环境搭建

1.安装node.js,忽略 2.基于node.js,利用淘宝npm镜像安装相关依赖 在cmd里直接输入:npm install -g cnpm –-registry=https://registry.npm.taobao.org,回车,等待安装... 3.安装全局vue,用于帮助搭建所需的模板框架 在cmd里, 1).输入:cnpm install -g vue-cli,回车,等待安装...2).输入:vue -V,回车,若出现vue信息说明表示成功 4.创建vue项目 在cmd里输入:vue

在windows环境下基于sublime text3的node.js开发环境搭建

首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了.目前我在使用的主要是Emmet.Python.还有一些格式化的插件(xml,json),加上这次安装的node.js. node.js的安装就不用多说了,直接http://nodejs.org/ 点击install下载window版本的安装程序后安装即可.默认的安装会将安装目录加到path环境变量

scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/download/sdk.html 根据自己的机器配置选择合适的IDE: 我这里选择For scala2.11 版本的Windows 32 bit的IDE,单击即下载. scala安装: 安装包下载地址,进入官网:http://www.scala-lang.org/ 进入DOWNLOAD下,选择scala 2.11 版本,单击下载: Windows上安装scala 2.11: 单击运行sca

安卓自动化测试(2)Robotium环境搭建与新手入门教程

Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序 熟悉Eclipse IDE使用方法 有足够的耐心与探索精神,遇到问题可以熟练的Google 环境搭建 安装jdk,配置环境变量,如果不会请自行Google 下载安装Android SDK,并更新 下载Eclipse,并安装ADT插件,集成Android SDK Roboti

vue.js开发环境搭建以及创建一个vue实例

Vue.js 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 在使用 vue.js 之前首先需要搭建 vue.js 的开发环境,下面,我们就来一步一步的搭建 vue.js 的环境: 1.首先,我们需要安装 node.js: 安装 node.js 请参考  node.js安装配置 ,可以打开命令行,输入 node -v,如果输出版本号,说明我们安装 node 环境成功,输入 npm

Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及

Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用. 在配置环境之前呢,有些基础的东西还是要和大家普及一下的.如果你已经对Vue.js有所了解,那请点击 配置步骤  跳转到配置环境的阅读,否则,请耐心看完看完. 首先,介绍一下Vue.js的概念,他是干啥的呢?一定要配置vue的运行环境吗? 如上述Vue.js不是个全能的框架,因为他的

1.环境搭建与命令入门

1.环境搭建 参考书上的搭建步骤在VirtualBox下搭建了Cent OS 6.5环境.书上已经说的很清楚,不再赘述. 2.命令入门 2.1 语系的支持 输入命令后如果结果显示乱码,可以使用echo $LANG 显示当前的语系.注意Linux下任何时候都对文字大小写敏感.LANG=en_US此命令可以修改当前的显示语系. 2.2 bc计算器下设置小数点 默认Linux下的bc计算器运算时是显示的整数,如果想要显示小数则要输入scale=3这里的3表示是保留小数点后3位小数. 3.几个重要的按键