web项目构建

  web项目构建很有必要,但是作为小作坊开发,一直也不想去多花一点精力去折腾,今天终于鼓起勇气去啃了啃Grunt。光看Grunt的官方文档有点枯燥,下面是Snandy写的一些列实际的例子,这个就比较直观了,由于比较懒,喜欢拿来主义,摘抄在这里哦。

    使用GruntJS构建Web程序 (1)

    使用GruntJS构建Web程序 (2)

    使用GruntJS构建Web程序 (3)

  下面简单的描述过程:

  1、安装node

  2、安装grunt-cli

#-g 全局安装
npm install -g grunt-cli

  3、安装grunt及插件

#进入到某项目根目录,使用命令
npm install grunt --save-dev

  (4——7JavaScript资源的合并、压缩)

  4、编辑项目

#项目目录
root
    |-src
        |-ajax.js
        |-selector.js
    |-package.json
    |-Gruntfile.js

  5、编辑pageage.json

{
  "name": "Bejs",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.0",
    "grunt-contrib-jshint": "~0.1.1",
    "grunt-contrib-uglify": "~0.1.2",
    "grunt-contrib-concat": "~0.1.1"
  }
}
#grunt-contrib-jshint js语法检查
#grunt-contrib-uglify 压缩,采用UglifyJS
#grunt-contrib-concat 合并文件
#执行安装
npm install

  6、编辑Gruntfile.js

/**
 * 合并src下的文件(ajax.js/selector.js)为domop.js
 * 压缩domop.js为domop.min.js
 * 这两个文件都放在dest目录下
 */
module.exports = function(grunt) {
    // 配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : {
            domop : {
                src: ['src/ajax.js', 'src/selector.js'],
                dest: 'dest/domop.js'
            }
        },
        uglify : {
            options : {
                banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
'
            },
            build : {
                src : 'dest/domop.js',
                dest : 'dest/domop.min.js'
            }
        }
    });
    // 载入concat和uglify插件,分别对于合并和压缩
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    // 注册任务
    grunt.registerTask('default', ['concat', 'uglify']);
}; 

  7、执行grunt任务

grunt

  (8——11css资源的合并、压缩)

  8、编辑项目

  同上

  9、编辑pageage.json

{
  "name": "BeJS",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.0",
    "grunt-contrib-concat": "~0.1.1",
    "grunt-css":   ">0.0.0"
  }
}

  10、编辑Gruntfile.js

module.exports = function(grunt) {
    // 配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : {
            css : {
                src: ['src/asset/*.css'],
                dest: 'dest/asset/all.css'
            }
        },
        cssmin: {
            css: {
                src: 'dest/asset/all.css',
                dest: 'dest/asset/all-min.css'
            }
        }
    });
    // 载入concat和css插件,分别对于合并和压缩
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-css');
    // 默认任务
    grunt.registerTask('default', ['concat', 'cssmin']);
}; 

  11、执行grunt任务

  同上

npm install

原文地址:https://www.cnblogs.com/ccdc/p/3957936.html