Grunt.js 上手
Official Site gruntjs.org/docs/getting-started.html
或者看http://tgideas.qq.com/webplat/info/news_version3/804/808/811/m579/201307/216460.shtml
grunt可以帮我们做什么
grunt是一个自动化工具 自动压缩js css 建立相关的文件&文件夹
首先grunt需要运行在NodeJS的环境下
安装Grunt之前,可以在命令行中运行node -v查看你的Node.js版本
node环境(>0.8.0)
node环境包括npm包管理工具
npm是一个Node.js的包管理器,运行在命令行下,用于管理应用的依赖 (更通俗点 你可以通过它来安装 删除东西)
安装grunt CLI 也就是grunt命令行工具
npm install -g grunt-cli
安装结束后,会告知安装的位置
比如/usr/local/lib/node_modules/grunt-cli、
npm install -g grunt-cli这条命令将会把grunt命令植入到你的系统路径中,这样就允许你从任意目录来运行它(定位到任意目录运行grunt命令)。
如果没有 就自己手动将npm install -g grunt-cli运行后提示的安装位置添加到环境变量中
如何使用?
在命令行中使用grunt xxx命令 即可执行预先设置好的工作(预先设定的工作保存在Gruntfile.js中)
PS 此命令没有安装grunt 它只是安装了全局可用的命令行工具
PS 使用npm install grunt --save-dev命令安装grunt 不过首先你需要在Node的命令行中cd到你想安装的位置中
该命令执行完之后呢 就会在指定目录下有node_modules文件夹
配置
Gruntfile.js本身会读同目录下的package.json
所以实际上配置有两个文件 json主要是项目信息
而Gruntfile.js存放的是自动化的工作设置
package.json可以通过npm init自动生成(推荐)
记住name项的内容就行 其他随意填
关于entry js 暂时不清楚
这是的json结果(去掉了不是必需的东西)
{
"name": "protest1",
"version": "0.1.0",
"dependencies": {
"grunt-contrib-uglify": "^0.2.7",
"grunt": "^0.4.4"
}
当然可以直接抄官方文档中的内容 只不过关于各个依赖的版本我们不清楚 所以依靠init命令生成最好
安装grunt
npm install grunt --save-dev
完成后会更改package.json
查看一下 发现多出了这个
"devDependencies": {
"grunt": "^0.4.4"
}
安装uglify (一个grunt工具 你可以把grunt理解为一个平台 上面有很多小工具)
npm install grunt-contrib-uglify --save-dev
关于Gruntfile.js
一个简单的例子
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']);
}
pkg这个变量中的key就是json文件中的key 在uglify中 设置了需要被压缩的源文件路径、以及输出的路径
其中输出的文件名前半部分就是在json中定义的名字
运行
假如name我设置为test1
name这个配置就会读src目录下的test1.js并压缩输出到build目录中
Grunt.js 上手的更多相关文章
- 【转】自动化任务运行器 Grunt 迅速上手
原文转自:http://blog.jobbole.com/51586/ 这篇文章将带领你用Grunt来提速和优化网站开发的流程.首先我们会简短介绍Grunt的功能,然后我们直接上手,介绍如何用Grun ...
- 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器
http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...
- Grunt JS构建环境搭建以及使用入门
Grunt JS构建环境搭建以及使用入门 1.应用场景 一种自动化任务处理工具,对于日常的需求(代码规则检查.代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js ...
- Impress.js上手 - 抛开PPT、制作Web 3D幻灯片放映
前言: 如果你已经厌倦了使用PPT设置路径.设置时间.设置动画方式来制作动画特效.那么Impress.js将是你一个非常好的选择. 用它制作的PPT将更加直观.效果也是嗷嗷美观的. 当然,如果用它来装 ...
- 初探grunt.js
package.js { "name": "ttd_v3", "version": "0.1.0", "aut ...
- 前端构建工具 Gulp.js 上手实例
在软件开发中使用自动化构建工具的好处是显而易见的.通过工具自动化运行大量单调乏味.重复性的任务,比如图像压缩.文件合并.代码压缩.单元测试等等,可以为开发者节约大量的时间,使我们能够专注于真正重要的. ...
- 使用grunt js进行js的链接和压缩
1,http://nodejs.org/download/ 安装nodejs 2,配置环境变量,将nodejs的安装目录放置在Path环境变量中 3,在cmd中 npm install -g grun ...
- dva.js 上手
来源:https://pengtikui.cn/dva.js-get-started/ ——------------------------------------------------------ ...
- grunt自定义任务——合并压缩css和js
npm文档:www.npmjs.com grunt基础教程:http://www.gruntjs.net/docs/getting-started/ http://www.w3cplus.com/to ...
随机推荐
- Tomcat的JVM内存大小如何设置?【转】
[转]:专家答疑 Tomcat的JVM内存大小如何设置? 本文和大家重点讨论一下如何设置Tomcat的JVM内存大小,JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存 ...
- Date Time Picker控件
Step1 在界面中添加一个Date Time Picker控件,ID为:IDC_DATETIMEPICKER1 Step2 该控件关联变量 CDateTimeCtrl m_dateCtrl; Ste ...
- ASP.NET导出EXCEl方法使用COM.EXCEL不使用EXCEl对象
第一种:导出gridVIEW中的数据,用hansTABLE做离线表,将数据库中指定表中的所有数据按GRIDVIEW中绑定的ID导出 只能导出数据不能去操作相应的EXCEl表格,不能对EXCEL中的数据 ...
- JavaScript之ClassName属性学习
在前面的style属性学习中,知道了通过style属性可以控制元素的样式,从而实现了行为层通过DOM的style属性去干预变现层显示的目地,但是这种就是不好的,而且为了实现通过DOM脚本设置的样式,你 ...
- .aspx.cs传值与取值
1:.aspx中post传值 $.post("ABP_ExchangeRatelz.aspx", { option: "isdelete", Ori_Curre ...
- wing 5.0 注册机
输入License id 进入下一页获得request key ,输入request key 后点击生成,即可生成激活码,亲测可用 下载链接 密码:adwj
- JS 代码调试经验总结(菜鸟必读)
前言:不知不觉写了很多,希望你能耐心看完这篇文章 任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作.一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的 ...
- jjjjQuery选择器
此文为作者自用复习文章 jQuery选择器: 它不仅继承了CSS选择器简洁的语法, 还继承了其获取页面便捷高效的特点, 它还拥有更加完善的处理机制: 但jQuery选择器获取元素后,为该元素添加的是行 ...
- jQuery 图表
开源网jQuery图表: http://www.oschina.net/project/tag/275/jquery-chart jqGrid(表格) 官网: http://www.jqgrid.co ...
- ThinkPHP第二十四天(JQuery常用方法、TP自动验证)
---恢复内容开始--- 1.JQuery常用方法 A:JS中可以用json格式数据当做数组使用,如var validate={username:false,pwd:false,pwded:false ...