Grunt构建工具的使用

使用node写后台服务器的时候,每次修改都需要重启一次,效率非常的低。

使用grunt自动化构建,每次修改文件后会自动重启服务器,同时可对代码进行压缩、编译、单元测试等,减少重复的任务,提高效率。

使用前需要先安装Grunt全局环境

安装全局环境 npm install grunt-cli -g

安装时可能需要使用sudo(针对OSX、*nix、BSD等系统中)权限或者作为管理员(对于Windows环境)来执行以下命令。

安装Grunt npm install grunt --save-dev

目录下新建 Gruntfile.js 文件,必须与package.json同级目录

Gruntfile.js 文件主要包涵四个部分:wrapper函数、项目与任务配置、加载grunt插件和任务、自定义任务

// wrapper函数,所有grunt的代码都需包涵在里面
module.exports = function(grunt) {

    // 项目与任务配置,具体看去官方文档,因为使用的前后端分离没有使用模板文件,因此只监听了JS文件,需要监听其他文件查看官方插件库grunt-contrib-watch的文档
    grunt.initConfig({
        watch: {
            scripts: {
                files: '**/*.js',   // 监听所有的js文件
                tasks: [],
                options: {
                    event: ['all']
                },
            },
        },
        nodemon: {
            dev: {
                script: 'app.js',   // 这里是必须配置的入口文件,其他可选择配置,参考文档
                options: {
                    args: [],
                    ignoredFiles: ['README.md', 'node_modules/**', '.DS_Store'],
                    watchedExtensions: ['js'],
                    watchedFolders: ['app', 'config'],
                    debug: true,
                    delayTime: 1,
                    env: {
                        PORT: '8088' // 监听端口,自行配置
                    },
                    cwd: __dirname
                }
            }
        },
        concurrent: {
            tasks: ['nodemon', 'watch'],
            options: {
                logConcurrentOutput: true
            }
        }
    });
    
    // 加载grunt插件和任务
    // 监听文件变化,重新执行修改的文件
    grunt.loadNpmTasks('grunt-contrib-watch');
    // 监听app.js文件,app.js做出修改,立即重启
    grunt.loadNpmTasks('grunt-nodemon');
    // 针对慢任务开发的插件
    grunt.loadNpmTasks('grunt-concurrent');
    
    // 自定义任务
    grunt.option('froce', true);
    grunt.registerTask('default', ['concurrent']);
	
};
复制代码

配置完后,此时在在命令行中输入grunt,可以看到:

Grunt常用的插件:

grunt-contrib-clean 清空文件、文件夹

grunt-contrib-watch 实时监控文件变化、调用相应的任务重新执行

grunt-contrib-copy 复制文件、文件夹

grunt-contrib-jshint javascript语法错误检查

grunt-contrib-uglify 压缩javascript代码

grunt-contrib-concat 合并多个文件的代码到一个文件中

grunt-contrib-cssmin 压缩css代码

grunt-contrib-less 把less文件编译成css

grunt-karma 前端自动化测试工具

grunt-contrib-connect 启动一个连接的Web服务器

具体使用配置和插件库请看 Grunt中文文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值