基于Grunt的版本号构建系统新手教程
作者:zhanhailiang 日期:2014-10-12
1. 安装nodejs,npm,grunt-cli。參见《Windows环境下安装nodejs+npm+grunt-cli工具》。
2. 新建測试项目文件夹例如以下:
当中各文件模板例如以下:
src/index.js
var a = 1;
var b = 2;
function test() {
alert(1);
}
var test2 = function() {
return 3;
};
test();
test2();
package.json(入门学习可先使用该模板)
{
"name": "test",
"version": "1.0.0",
"description": "test",
"author": "",
"dependencies": {},
"devDependencies": {
}
}
Gruntfile.js(实现js压缩构建任务)
module.exports = function(grunt) {
// 配置
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
uglify : {
build : {
src : 'src/index.js',
dest : 'dest/index.min.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
// 注冊默认任务
grunt.registerTask('default', ['uglify']);
};
3. 在当前測试项目根文件夹下运行npm install grunt-contrib-uglify –save-dev安装对应依赖模块(注: –save-dev将依赖模块自己主动更新到package.json文件里):
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbGZlbGxlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
4. 在当前測试文件夹下运行grunt构建任务实现版本号构建任务:
5. 至此版本号任务构建就算完毕了。能够注意到在dest文件夹下生成对应的压缩文件:
由此简单教程可对应实现CSS压缩,html压缩,图片压缩等相关版本号构建任务。
总之,grunt的功能相当强大,兴许笔者将会陆续分享关于grunt更具体的教程。
參考文档
附录
推荐使用grunt-init工具来自己主动创建项目,眼下官方维护下面列表的模板:
- grunt-init-commonjs - Create a commonjs module, including Nodeunit unit tests.
- grunt-init-gruntfile - Create a basic Gruntfile.
- grunt-init-gruntplugin - Create a Grunt plugin, including Nodeunit unit tests.
- grunt-init-jquery - Create a jQuery plugin, including QUnit unit tests.
- grunt-init-node - Create a Node.js module, including Nodeunit unit tests.
基于Grunt的版本号构建系统新手教程的更多相关文章
- 基于jeesite+android开发 电子商务系统免费教程
下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...
- .net 基于Jenkins的自动构建系统开发
先让我给描述一下怎么叫一个自动构建或者说是持续集成 : 就拿一个B/S系统的合作开发来说,在用SVN版本控制的情况下,每个人完成自己代码的编写,阶段性提交代码,然后测试-修改,最后到所有代码完工,进行 ...
- 基于Jenkins自动构建系统开发
1 绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...
- ASP.NET Web Api构建基于REST风格的服务实战系列教程
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[十]——使用CacheCow和ETag缓存资源 系列导航地址http://www.cnblogs.com/fzrain/p/3 ...
- 【Zigbee技术入门教程-号外】基于Z-Stack协议栈的抢答系统
[Zigbee技术入门教程-号外]基于Z-Stack协议栈的抢答系统 广东职业技术学院 欧浩源 一.引言 2017年全国职业院校技能大赛"物联网技术应用"赛项中任务三题2的 ...
- Android基础新手教程——3.1 基于监听的事件处理机制
Android基础新手教程--3.1.1 基于监听的事件处理机制 标签(空格分隔): Android基础新手教程 本节引言: 第二章我们学习的是Android的UI控件,我们能够利用这些控件构成一个精 ...
- 基于vue模块化开发后台系统——构建项目
文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 在熟悉上一篇说到准备工具之后, ...
- 基于云服务MRS构建DolphinScheduler2调度系统
摘要:本文介绍如何搭建DolphinScheduler并运行MRS作业. 本文分享自华为云社区<基于云服务MRS构建DolphinScheduler2调度系统>,作者: 啊喔YeYe . ...
- A-Frame WebVR开发新手教程
WebVR和WebGL应用程序接口使得我们已经能够在浏览器上创建虚拟现实(VR)体验.但从project化的角度而言,开发社区还须要很多其它方便强大的开发库来简化编程.Mozilla的 A-Frame ...
随机推荐
- java对象占用内存大小计算方式
案例一: User public class User { } UserSizeTest public class UserSizeTest { static final Runtime runTim ...
- [hadoop系列]Pig的安装和简单演示样例
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...
- ImageMagick wrapper for php
https://code.google.com/archive/p/phmagick/
- 解决php下多人同时操作数据表
当同一时刻,多人对同一个表进行insert或者update的时候,往往会出现同一条数据出现好多次或者一些奇怪的问题,可以通过mysql的锁表机制来进行排队解决这个问题 php中插入数据之前锁表 // ...
- 开源解析器--ANTLR
序言 有的时候,我还真是怀疑过上本科时候学的那些原理课究竟是不是在浪费时间.比方学完操作系统原理之后我们并不能自己动手实现一个操作系统:学完数据库原理我们也不能弄出个像样的DBMS出来:相同,学完 ...
- windows的定时任务设置
windows 的Schedule Task .创建配置 1.点击"開始" 2.点击"控制面板" 3.双击"任务计划" 4.双击" ...
- UIGestureRecognizer在多层视图中的触发问题
在一个superview中,添加了一个subview.tap一下superview,将subview隐藏起来. 在视图superview添加一个UITapGestureRecognizer对象,在UI ...
- 人人网javascript面试题
JavaScript面试题要求:以下题目必须从一至四题中,选出三道题,使用原生代码实现,不可使用任何框架,第五题为选作题. 一. 在页面的固定区域内实现图片的展示 <ignore_ ...
- .NET - 代码重构技巧
通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然了,这也是从一个普通程序员到一个高级程序员的必由 ...
- Html.Partial("")与Html.RenderPartial("")区别
文章有点长,但大多是代码,看看很快的,不要压力太大.网上有很多关于这两个方法的区别,都说出了它本质的区别(不看代码,只看这个结论,就已经足够了,如果觉得有必要从代码中得出这个结论,那就继续往下看),这 ...