微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

安装 Grunt-cli

其实是安装 Grunt-cli ,这里安装Grunt的命令行支持(command line interface,简称CLI),在这之后,命令提示符中将会识别grunt命令。安装grunt-cli 并不能称为安装Grunt完毕。这是因为,Grunt本身不是全局使用的,任何具体的工作目录,如果要使用Grunt,都需要安装一次Grunt。这样做也是因为不同的工作目录,需要通过Grunt做的自动化工作也不同,因此需要独立配置。

rush:bash;"> npm install -g grunt-cli

—save-dev 参数,表示会把刚安装的东西添加到 package.json 文件中。

生成 package.json 文件

npm对工作目录有一个要求。这个要求是:根目录位置处有一个package.json 文件。这个文件定义了工作目录对应的一些项目信息(名字,描述),以及包(就是npm模块)依赖关系。 执行下面命令便可以初始化

rush:bash;"> npm init

为当前工作目录安装Grunt和需要的插件 方法1

之前我们把Grunt安装到了全局目录下,现在需要引入到当前项目路径,与此同时,所需要的插件可能有这些:

合并文件:grunt-contrib-concat 语法检查:grunt-contrib-jshint Scss 编译:grunt-contrib-sass 压缩文件grunt-contrib-uglify 监听文件变动:grunt-contrib-watch 建立本地服务器:grunt-contrib-connect 安装它们的方式可以是:

rush:bash;"> npm install --save-dev grunt npm install --save-dev 插件1 插件2 插件3

这个时候package.json文件夹里多出了一些代码

rush:js;"> "devDependencies": { "grunt": "0.4.1" },

方法2-手动更改package.json

rush:js;"> "devDependencies": {   "grunt": "~0.4.1",  "grunt-contrib-cssmin": "~0.7.0"  }

手动在package.json文件里面添加这个字段,将需要依赖的包添加进去,如果只需安装最新版本,可以改成 * ,然后执行npm install,会发现文件夹里多了node_modules文件夹,里面存放的就是我们需要的插件

配置

一般来说,直接使用模板作为配置文件

rush:js;"> module.exports = function(grunt) { "use strict"; grunt.initConfig({ //插件配置区域 }); //加载插件任务,要使用谁就添加谁 grunt.loadNpmtasks('grunt-contrib-uglify'); grunt.loadNpmtasks('grunt-contrib-cssmin'); grunt.loadNpmtasks('grunt-contrib-imagemin'); // 注册任务 grunt.registerTask('default',['cssmin','imagemin','uglify']); };

grunt.loadNpmtasks()是加载插件任务。其实就是说,你如果要使用哪个插件功能,请在这部分用这句代码插件任务添加进去。 grunt.registerTask()是注册任务,认有一个default。认的意思就是说,你最后使用的时候,在目录的命令提示符里直接输入grunt便可以执行注册的任务,相当于执行了default这个任务。

使用自定义任务

可以注册更多的任务命令,使用其他的命名。比如

rush:js;"> grunt.registerTask('custom','imagemin']);

对应使用的时候,输入:

rush:js;"> grunt custom

原文地址:https://www.jb51.cc/nodejs/48819.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐