grunt 使用
grunt 服务端, grunt-cli 客户端
1、grunt 插件安装:
package.json, 存放grunt所需插件
{
"name": "demo",
"version": "0.1.0",
"description": "demo",
"private": "true",
"author": "hzijone",
"license": "MIT",
"devDependencies": {
"btoa": "~1.1.2",
"glob": "~5.0.14",
"grunt": "~0.4.5",
"grunt-autoprefixer": "~3.0.3",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-compress": "~0.13.0",
"grunt-contrib-concat": "~0.5.1",
"grunt-contrib-connect": "~0.10.1",
"grunt-contrib-copy": "~0.8.0",
"grunt-contrib-csslint": "~0.5.0",
"grunt-contrib-cssmin": "~0.12.3",
"grunt-contrib-htmlmin": "~0.4.0",
"grunt-contrib-jade": "~0.15.0",
"grunt-contrib-jshint": "~0.11.2",
"grunt-contrib-less": "~1.0.1",
"grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-uglify": "~0.9.1",
"grunt-contrib-watch": "~0.6.1",
"grunt-csscomb": "~3.0.1",
"grunt-exec": "~0.4.6",
"grunt-html": "~4.0.3",
"grunt-jekyll": "~0.4.2",
"grunt-jscs": "~1.8.0",
"grunt-saucelabs": "~8.6.1",
"grunt-sed": "twbs/grunt-sed#v0.2.0",
"load-grunt-tasks": "~3.2.0",
"markdown-it": "^4.4.0",
"npm-shrinkwrap": "^200.4.0",
"time-grunt": "^1.2.1"
},
"dependencies": {
"express": "3.x"
}
}
执行命令:npm install , 会在当前目录生成一个文件夹:node_module,存放安装成功的插件
配置内容详述:
. `_"private":"true"=>不上传到github_`
. Dependenciesg与devDependencies的区别:
.. devDependencies:如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架
.. 指示当前包所依赖的其他包 . { "dependencies" :
{ "foo" : "1.0.0 - 2.9999.9999"
, "bar" : ">=1.0.2 <2.1.2"
, "baz" : ">1.0.2 <=2.3.4"
, "boo" : "2.0.1"
, "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
, "asd" : "http://asdf.com/asdf.tar.gz"
, "til" : "~1.2"
, "elf" : "~1.2.3"
, "two" : "2.x"
, "thr" : "3.3.x"
}
} 版本格式可以是下面任一种:
version 完全匹配
>version 大于这个版本
>=version大于或等于这个版本
<version
<=version
~version 非常接近这个版本
^version 与当前版本兼容
1.2.x X代表任意数字,因此1.2.1, 1.2.3等都可以
http://... Unix系统下使用的tarball的URL。
**** 任何版本都可以
""任何版本都可以
version1 - version2 等价于 >=version1 <=version2.
range1 || range2 满足任意一个即可
git... Git地址
user/repo WARNING: npm WARN package.json demo@0.1.0 No repository field. +
npm WARN package.json demo@0.1.0 No README data。 +
*出现上述警告,是因为没有加github及README的文件*
2、执行grunt
文件:Gruntfile.js
执行命令: grunt
Gruntfile.js配置
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify:{
options:{},
// build 都可以
// build: {
// //源文件
// src: 'js/bootstrap.js',
// //目标文件
// dest: 'js/bootstrap.min.js'
// },
dist:{
files: [
{
expand: true,
cwd: 'js/',
src: ['**/*.js'],
dest: 'js/',
ext: '.min.js',
extDot: 'first'
},
]
}
},
cssmin: {
options: {
keepSpecialComments: 0
},
compress: {
files: {
'css/bootstrap.min.css': 'css/bootstrap.css'
}
}
},
watch: {
// files: ['<%= uglify.dist.files %>'],
files: 'js/*',
tasks: ['uglify'],
options: {
// Start another live reload server on port 1337
livereload: true,
}
}
});
//加载Grunt插件
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
// 默认的grunt 任务
grunt.registerTask('default', ['uglify','watch']);
};
grunt 使用的更多相关文章
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- grunt配置任务
这个指南解释了如何使用 Gruntfile 来为你的项目配置task.如果你还不知道 Gruntfile 是什么,请先阅读 快速入门 指南并看看这个Gruntfile 实例. Grunt配置 Grun ...
- 快速开发Grunt插件----压缩js模板
前言 Grunt是一款前端构建工具,帮助我们自动化搭建前端工程.它可以实现自动对js.css.html文件的合并.压缩等一些列操作.Grunt有很多插件,每一款插件实现某个功能,你可以通过npm命名去 ...
- 是时候搁置Grunt,耍一耍gulp了
也算是用了半年Grunt,几个月前也写过一篇它的入门文章(点此查看),不得不说它是前端项目的一个得力助手.不过技术工具跟语言一样日新月异,总会有更好用的新的东西把旧的拍死在沙滩上(当然Grunt肯定没 ...
- 应用Grunt自动化地优化你的项目前端
在不久前我曾写了一篇 应用r.js来优化你的前端 的文章,为大家介绍了r.js这个实用工具,它可以很好地压缩.合并前端文件并打包整个项目.但是如果将r.js放到项目中,我们不得不顾及到一个问题——项目 ...
- Grunt(页面静态引入的文件地址的改变探究)-V2.0
相关插件的引用: grunt-usemin 对页面的操作 grunt-contrib-cssmin 压缩css load-grunt-tasks 瘦身gruntfile grunt-rev给md5 ...
- Grunt基本使用-V1.0
浅语:grunt中文网:http://www.gruntjs.net/ 第一步:Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js.然后开始安装 Grunt. 实际上,安装的 ...
- nodejs、npm、grunt——名词解释
最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...
- grunt自定义任务——合并压缩css和js
npm文档:www.npmjs.com grunt基础教程:http://www.gruntjs.net/docs/getting-started/ http://www.w3cplus.com/to ...
- Grunt学习使用
原文地址:Grunt学习使用必看 grunt简介神马的不多说,到处一大堆. 我只说说我已经实现了的代码. 按照官方的教程 相信已经配置好了,接下来说 package.json 和 Gruntfile. ...
随机推荐
- ubuntu 设置hostname
永久修改hostname: # sudo vim /etc/hostname # sudo vim /etc/hosts
- HTML5系列三(多媒体播放、本地存储、本地数据库、离线应用)
各浏览器对编码格式的支持情况 audio和video元素的属性介绍 1.src:媒体数据的URL地址 <video src="pr6.mp4"></video&g ...
- JS-百钱买百鸡案例-for循环制作
<html> <head> <meta charset="utf-8"/> <title></title> <sc ...
- Java递归算法——三角数字
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- StringBuffer类
String的内容一旦声明则不可改变,如果改变,则改变的肯定是String的引用地址. 如果一个字符串要被经常改变,则就必须使用StringBuffer类. 在String类中可以通过“+”进行字符串 ...
- Linux 命令小记
1. pidof 进程名 :获取进程的pid,例如 pidof memcached 得到5333 2. unset Shell变量 :取消设置一个shell变量,从内存和shell的导出环境中删除它, ...
- Object.prototype.toString.call() 区分对象类型
判断一个对象的类型: /** * 判断对象是否为数组 * @param {Object} source 待判断的对象 * @return {Boolean} true|false */ Object. ...
- ecshop商品-》获取促销商品
lib_goods.php->function get_promote_goods(){} /** * 获得促销商品 * * @access public * @return array */ ...
- 【转】七年IT经验的七个总结
http://www.unitymanual.com/thread-30000-1-1.html?_dsign=ebe6a043 1.分享第一条经验:“学历代表过去.能力代表现在.学习力代表未来.” ...
- linux lsof 用法简介
1.简介: lsof(list open files)是一个列出当前系统打开文件的工具. 只需输入 lsof 就可以生成大量的信息,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用 ...