grunt 使用记录

grunt -- 项目构建工具

package.json

{
  "name": "app",
  "version": "1.0.0",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-concat": "~0.5.0",
    "grunt-contrib-cssmin": "~0.10.0",
    "grunt-contrib-uglify": "~0.6.0",
    "grunt-contrib-imagemin": "~0.9.2",
    "grunt-contrib-htmlmin": "~0.3.0"
  }
}

Gruntfile.js

module.exports = function (grunt) {

    // grunt config
    grunt.initConfig({
        pkg: grunt.file.readJSON(‘package.json‘),

        jshint: {
            files: [‘src/js/base.js‘, ‘src/js/script.js‘, ‘src/js/caculate.js‘]
        },

        concat: {
            options: {
                banner: ‘/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n‘,
                separator: ‘\n/*---------分割线---------*/\n‘
            },
            css: {
                files: [{
                    src: [‘src/css/base.css‘, ‘src/css/style.css‘, ‘src/svg/style.css‘],
                    dest: ‘dist/css/<%= pkg.name %>.css‘
                }]
            },
            js: {
                files: [{
                    src: [‘src/js/base.js‘, ‘src/js/script.js‘, ‘src/j/caculate.js‘],
                    dest: ‘dist/js/<%= pkg.name %>.js‘
                }]
            }
        },

        cssmin: {
            css: {
                files: [{
                    src: ‘dist/css/<%= pkg.name %>.css‘,
                    dest: ‘dist/css/<%= pkg.name %>.min.css‘
                }]
            }
        },

        uglify: {
            js: {
                files: [{
                    src: ‘dist/js/<%= pkg.name %>.js‘,
                    dest: ‘dist/js/<%= pkg.name %>.min.js‘
                }]
            }
        },

        htmlmin: {
            options: {
                removeComments:true,
                collapseWhitespace:true
            },
            dist: {
                files: [{
                    expand: true,       // all html
                    cwd: ‘src/‘,
                    src: [‘**/*.html‘],
                    dest: ‘dist‘
                }]
            }
        },

        imagemin: {
            img: {
                files: [{
                    expand: true,        // all images
                    cwd: ‘src/‘,
                    src: [‘**/*.{png,jpg,gif}‘],
                    dest: ‘dist/‘
                }]
            }
        }
    });

    // load task
    grunt.loadNpmTasks(‘grunt-contrib-jshint‘);
    grunt.loadNpmTasks(‘grunt-contrib-concat‘);
    grunt.loadNpmTasks(‘grunt-contrib-cssmin‘);
    grunt.loadNpmTasks(‘grunt-contrib-uglify‘);
    grunt.loadNpmTasks(‘grunt-contrib-htmlmin‘);
    grunt.loadNpmTasks(‘grunt-contrib-imagemin‘);

    // regist task
    grunt.registerTask(‘default‘, [‘jshint‘, ‘concat‘, ‘cssmin‘, ‘uglify‘]);
    grunt.registerTask(‘html‘, [‘htmlmin‘]);
    grunt.registerTask(‘img‘, [‘imagemin‘]);
};
时间: 2024-10-03 22:29:39

grunt 使用记录的相关文章

折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获

很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解决问题不糊弄人才是真道理! 反正我的问题解决啦!!!哈哈哈!! 安装grunt 原文:www.bluesdream.com/blog/Windows-installs-the-grunt-and-instructions.html 怕这个网址打不开,记录下: 安装Grunt:如果你之前安装过老的0.

grunt 记录

//包装函数 module.exports = function (grunt) { //任务配置,所有插件的配置信息 grunt.initConfig({ //获取 package.json 的信息 pkg:grunt.file.readJSON('package.json'), copy:{ html:{ files:[{ expand:true,//启动动态扩展 //ext:'.min.js',//生成min.js结尾的文件,.min-<%= grunt.template.today(&quo

grunt记录

grunt是nodejs下的一个任务运行器,通过配置文件可以很方便的执行一系列任务 安装 1.npm install -g grunt-cli 安装grunt辅助命令(可以直接在命令行中执行grunt命令) 2.到给定目录 3.npm install grunt 安装grunt 4.安装grunt插件 npm install grunt-contrib-jshint npm install grunt-contrib-uglify npm install grunt-contrib-requir

在yeoman中报grunt错误的解决记录

在使用yeoman的tur示例中,按照步骤来到第三步,及输入命令 yo -angular 后,bower等之类完成配置后,报错. 提示it most likely a promble with npm itself. grunt 不能在本地找到,用了很多网上的解决方法,说是gruntfile.js没有配置或者pakage.json中没有配置. 照做,仍然报错. 发现包里的dependencies里有grunt,但项目node_modules中唯独缺少grunt文件夹. 手动copy了一份到当前文

grunt 记录2

module.exports = function (grunt) { require('load-grunt-tasks')(grunt); var path = { src : 'src', dest : 'dist', tmp : '.tmp' } grunt.initConfig({ path : path, clean : { beforebuild : { files : [{ src : ['<%= path.dest %>/', '<%= path.tmp %>/'

关于grunt和gulp

grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 "自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等,自动化工具可以减轻你的劳动,简化你的工作.当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作." Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作

gulp完全开发指南 =&gt; 快来换掉你的Grunt吧

最近一直在构建Angular应用,通过bower管理前端包依赖,然后通过gulp和它配合.发现gulp相比于grunt真的很轻,现在我的项目中已经取代了grunt.这里把我的一些实践贴记录下来和大家分享一下. gulp定位和grunt一样也是前端构建工具,和grunt相比它更突出一个流的概念,它所有的任务执行都是one by one的感觉,官网的自定义就是: gulp's use of streams and code-over-configuration makes for a simpler

菜鸟进阶——grunt

为保证作者版权在此声明本文部分摘自 http://yujiangshui.com/grunt-basic-tutorial/ 另,参考文章 http://www.tuicool.com/articles/yABV73 及官方英文文档 http://gruntjs.com/plugins 开始学习 Grunt 它就是一个工具框架,有很多插件扩展它的功能. 是一套前端自动化工具,基于nodeJS的命令行工具,一般用于: ① 压缩文件 ②合并文件 ③简单语法检查 Grunt 基于 Node.js ,用

【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个"真的"重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你能找到更好的替代grunt的其他工