Grunt简单应用
来源:互联网 发布:linux运行脚本命令 编辑:程序博客网 时间:2024/05/16 14:03
Grunt是JavaScript的构建工具,构建工具官方给出的解释是:对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动完成大部分无聊的工作。
Grunt的使用:
1.安装CLI(命令行:command lines)
下载NodeJS(http://nodejs.cn/),然后打开电脑中的命令提示符输入cmd(window+r),在窗口中输入node -v,查看当前版本,同时也可以检测node是否正确安装。
我们可以使用cnpm替代默认的npm: npm install -g cnpm--registry=https://registry.npm.taobao.org
将CLI加入全局环境中去,这样可以调用与Gruntfile在同一目录中 Grunt: cnpm install -g grunt-cli
2.创建package.json文件
package.json放置于项目的根目录中,与grunt在同一目录中,并且应该与项目的源代码一起被提交。在package.json所在目录中运行cnpm install将依据package.json文件中所列出的每个依赖来自动安装适当版本的依赖。
{ "name": "grunt-test", "version": "1.0.0", "devDependencies": { }}
3.安装grunt
进入网站的根目录:cd 根目录名
安装grunt:在package.json中的“devDependencies”中就会存储开发依赖项
cnpm install grunt --save-dev
打开package.json文件:
{ "name": "grunt-test", "version": "1.0.0", "devDependencies": { "grunt": "^1.0.1", }}
在根目录中会出现node_modules文件:存储grunt源文件的地方
4.配置grunt:例如我们使用uglify插件进行JS代码压缩
创建一个src文件夹,在src文件夹下创建一个js文件:test.js做实验
(function(window,undefined){function add(a,b){return a+b;}add(10,100);})(window);
安装uglify插件:cnpm install grunt-contrib-uglify --save-dev
新建Gruntfile.js:配置插件
module.exports = function(grunt){//任务配置 所有插件的配置信息grunt.initConfig({//获取package.jsonpkg:grunt.file.readJSON('package.json'),//uglify插件的配置信息uglify:{options:{stripBanners:true,//生成的压缩文件第一行加一句话说明//说明的内容banner:'/*! <%=pkg.name%>-<%=pkg.version%>.js <%= grunt.template.today("yyyy-mm-dd") %>*/\n'},build:{src:'src/test.js',//源文件:将test.js压缩dest:'build/<%=pkg.name%>-<%=pkg.version%>.js.min.js'//目标文件:压缩格式以及存放的目录}},});//使用插件grunt.loadNpmTasks('grunt-contrib-uglify');//在终端输入grunt时执行的插件grunt.registerTask('default',['uglify']);}
在控制台输入:grunt
然后在build文件夹下我们得到一个压缩后的test.js文件
/*! grunt-test-1.0.0.js 2016-11-18*/!function(a,b){function c(a,b){return a+b}c(10,100)}(window);
大功告成~~
grunt插件类型有很多,类似以上用法,http://www.gruntjs.net/plugins
- Contrib-jshint——javascript语法错误检查;
- Contrib-watch——实时监控文件变化、调用相应的任务重新执行;
- Contrib-clean——清空文件、文件夹;
- Contrib-uglify——压缩javascript代码
- Contrib-copy——复制文件、文件夹
- Contrib-concat——合并多个文件的代码到一个文件中
- karma——前端自动化测试工具
- Grunt简单应用
- grunt应用
- grunt 中应用 grunt-spritesmith
- seajs之grunt应用
- Grunt介绍与应用
- grunt简单教程
- grunt的简单使用
- grunt的简单使用
- Grunt安装、配置及应用
- 应用Grunt进行CSS压缩
- grunt
- grunt
- Grunt
- Grunt
- grunt
- grunt
- Grunt
- grunt
- java 内部静态类 浅谈
- Python IDE —— PyCharm的基本介绍
- world软件我的未来软件
- 使用命令行手工建立Oracle11gR2数据库
- [crit] 1697#1697: *144352 open() "/usr/local/src/nginx/fastcgi_temp/3/30/0000000
- Grunt简单应用
- 如何使用deep linking实现APP外部流量召回和下载归因分析
- [Wondgirl] ThinkPHP-json数据接口的创建(二)连接数据库和json数据接口的创建
- STM32定时TIM2触发ADC采样,使用DMA保存结果
- 周六研易01:深入研究甲木选用法
- php调试追踪之debug
- javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)
- ed编辑器使用
- 语音识别----音高的处理