博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gruntjs
阅读量:6048 次
发布时间:2019-06-20

本文共 2996 字,大约阅读时间需要 9 分钟。

gruntjs

gruntjs是构建前端可维护性的项目,如自动化、文件压缩、合并及单元测试等等。
关于package.json和Gruntfile.js基础介绍
1、在项目的当前目录下,新建packjson.json文件

{    "name":"mtest",    "version":"0.1.0",    "engines": {        "node": ">= 0.8.0"    },    "dependencies": {        "async": "~0.1.22",        "coffee-script": "~1.3.3",        "colors": "~0.6.0-1",        "dateformat": "1.0.2-1.2.3",        "glob": "~3.1.21",        "underscore.string": "~2.2.0rc",        "which": "~1.0.5",        "jade":"~1.3.3",        "less":"~0.30.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 init:jquery

强制覆盖基础模板:grunt init:jquery --force

2、在项目的当前目录下,新建Gruntfile.js文件

module.exports = function(grunt) {    //配置    grunt.initConfig({        pkg : grunt.file.readJSON('package.json'),        uglify: {            options: {                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'            },            build: {                src: 'src/<%= pkg.name %>.js',                dest: 'build/<%= pkg.name %>.min.js'            }        },        concat: {            css: {                src: ['src/style/lib/*.css'],                dest: 'build/style/basic.css'            },            js: {                src: 'src/js/lib/*.js',                dest: 'src/js/base.min.js'            }        },        cssmin: {            css: {                src: 'build/style/base.css',                dest: 'build/style/base.min.css'            }        },        jade: {            release: {                options: {                    data: {                        debug: false                    },                    compiler: 'compiler',                    pretty: true                },                files: {                    "view/test.html": "view/test.jade"                }            }        },        less: {            production: {                options: {                    yuicompress: true                },                files: {                    "build/style/result.css": "build/style/source.less"                }            }        }    });            //载入插件    grunt.loadNpmTasks('grunt-contrib-uglify');    grunt.loadNpmTasks('grunt-contrib-concat');    grunt.loadNpmTasks('grunt-css');    grunt.loadNpmTasks('grunt-contrib-jade');    grunt.loadNpmTasks('grunt-contrib-less');        //默认任务     grunt.registerTask('default', ['uglify' ,'concat', 'cssmin', 'jade', 'less']);}

备注:

配置、载入插件、任务
配置:

js文件压缩:uglify

css文件压缩:cssmin
js和css文件合并:concat
jade模板的使用:jade
less模板的使用:less
可以在option为其设置相应参数
载入对应的插件:

grunt.loadNpmTasks('grunt-contrib-uglify');

grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-contrib-jade');
grunt.loadNpmTasks('grunt-contrib-less');

任务:
grunt.registerTask('default', ['uglify' ,'concat', 'cssmin', 'jade', 'less']);
运行:
在当前项目下执行grunt命令
参考:
如果有相关gruntjs文章及项目可以将链接写在回复中。谢谢。

转载地址:http://npxex.baihongyu.com/

你可能感兴趣的文章
用wxpython制作可以用于 特征筛选gui程序
查看>>
【转载】 [你必须知道的.NET]目录导航
查看>>
数据存储小例
查看>>
C++中构造函数详解
查看>>
电商网站中添加商品到购物车功能模块2017.12.8
查看>>
android 模拟器 hardWare 属性说明
查看>>
六款值得推荐的android(安卓)开源框架简介
查看>>
max_element( )
查看>>
java中的类
查看>>
pthread_create线程创建的过程剖析(转)
查看>>
android存储访问框架Storage Access Framework
查看>>
Mysql C API调用存储过程的总结
查看>>
Oracle的层次查询
查看>>
远程调用服务(RPC)和消息(Message Queue)对比及其适用/不适用场合
查看>>
FreeBSD 的 Ports 系统
查看>>
有关web
查看>>
读Nginx官方文档笔记
查看>>
Spring中用了哪些设计模式?
查看>>
存储问题
查看>>
转: jquery中ajax回调函数使用this
查看>>