• 使用grunt合并压缩js、css文件


    需要了解的知识:
    
    1、nodejs的安装与命令行使用
    
    2、nodejs安装应用
    
    3、grunt的初步了解

    本文已假定读者已经熟悉以上知识。

    好,我们继续:

    任务1:将src目录下的所有zepto及插件合并,并压缩。

    --src/
        ajax.js
        assets.js
        callbacks.js
        data.js
        deferred.js
        detect.js
        event.js
        form.js
        fx.js
        fx_methods.js
        gesture.js
        ie.js
        ios3.js
        selector.js
        stack.js
        touch.js
        zepto.js

    目录结构:

    dist/
    node_modules/
    src/
    Gruntfile.js
    package.json

    package.json是依赖库文件

    Gruntfile.js是执行步骤程序

    一、js合并压缩

    第一次需要先安装grunt。执行 npm install -g grunt-cli 进行安装。如果已经安装,可以忽略。

    1.package.json文件

    {
      "name": "demo",
      "file": "zepto",
      "version": "0.1.0",
      "description": "demo",
      "license": "MIT",
      "devDependencies": {
        "grunt": "~0.4.1",
        "grunt-contrib-jshint": "~0.6.3",
        "grunt-contrib-concat": "~0.5.0",
        "grunt-contrib-uglify": "~0.2.1",
        "grunt-contrib-requirejs": "~0.4.1",
        "grunt-contrib-copy": "~0.4.1",
        "grunt-contrib-clean": "~0.5.0",
        "grunt-strip": "~0.2.1"
      },
      "dependencies": {
        "express": "3.x"
      }
    }

     2.Gruntfile.js

    module.exports = function (grunt) {
      grunt.initConfig({
      concat: {
        options: {
        },
        dist: {
          src: ['src/**/*.js'],//src文件夹下包括子文件夹下的所有文件
          dest: 'dist/built.js'//合并文件在dist下名为built.js的文件
        }
      },
      uglify: {
         build: {
            src: 'dist/built.js',//压缩源文件是之前合并的buildt.js文件
            dest: 'dist/built.min.js'//压缩文件为built.min.js
          }
       }
    });
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-concat');
      
      grunt.registerTask('default', ['concat','uglify']);
    }

    执行步骤:

    (1)安装依赖,已安装可以忽略: npm install 。将会下载依赖的文件到node_modules目录。

    (2)执行合并压缩: grunt 

    >grunt
    Running "concat:dist" (concat) task
    File dist/built.js created.
    
    Running "uglify:build" (uglify) task
    File "dist/built.min.js" created.
    
    Done, without errors.

    将会在dist目录生成

    built.js
    built.min.js

    任务2:将src/css目录下的所有css文件合并,并压缩。

    二、对CSS进行合并压缩

    需要安装grunt-css。执行 npm install grunt-css 安装。安装成功,下载到 node_modules/grunt-css 。如果已经安装,可以忽略。

    1、package.json同上;

    2、Gruntfile.js如下:

    module.exports = function (grunt) {
      grunt.initConfig({
      concat: {//css文件合并
        css: {
          src: ['src/css/*.css'],//当前grunt项目中路径下的src/css目录下的所有css文件
          dest: 'dist/all.css'  //生成到grunt项目路径下的dist文件夹下为all.css
        }
      },
      cssmin: { //css文件压缩
         css: {
            src: 'dist/all.css',//将之前的all.css
            dest: 'dist/all.min.css'  //压缩
          }
       }
    });
    grunt.loadNpmTasks('grunt-css');
    grunt.loadNpmTasks('grunt-contrib-concat');
      
      grunt.registerTask('default', ['concat','cssmin']);
    }

    参考:

    1、 Grunt中文网

    http://www.gruntjs.net/getting-started

    (完结)

  • 相关阅读:
    PHP原生实现,校验微信公众号||小程序服务器地址
    TP3.2校验微信公众号||小程序 服务器地址
    【微信小程序】解决 竖向<scroll-view>组件 “竖向滚动页面出现遮挡”问题
    【微信小程序】:confirm(删除提示)
    【微信小程序】:评论、回复和删除功能 -- 2017/7/14
    微信小程序:bindtap方法传参
    TP3.2之WHERE组合条件处理
    Python:导入numpy报错 No module named numpy
    Python: 二进制、八进制、十六进制转换或者输出
    Python:数字的格式化输出
  • 原文地址:https://www.cnblogs.com/52fhy/p/4954107.html
Copyright © 2020-2023  润新知