关于grunt

什么是grunt?

  • 一种自动化任务处理工具;
  • 一个工具框架,有很多插件扩展它的功能;
  • 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等。此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理。
  • NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作。

安装 github
全局的脚手架工具:grunt-cli;即命令行;

npm install -g grunt-cli

生成package.json文件,许多需要使用nodejs安装的命令都需要先生成这个文件

进入我们新建的项目文件夹下,

cd grunt

做初始化

npm init
看不懂的可以直接回车,一般这里都是项目名项目描述作者等信息,
填完信息以后,就会自动生成这个文件;

接下来就是安装所需的插件:
通过插件可以实现一些我们想要的功能,如:
检查每个js文件语法、合并两个js文件、将合并后的js文件压缩、实现sass文件自动编译、新建一个本地服务器监听文件变动自动刷新HTML文件等

需要用到的插件名:
合并文件:grunt-contrib-concat
语法检查:grunt-contrib-jshint
Sass 编译:grunt-contrib-sass
压缩文件:grunt-contrib-uglify
监听文件变动:grunt-contrib-watch
建立本地服务器:grunt-contrib-connect

安装grunt和这些插件

npm install grunt --save-dev

表示通过 npm 安装了 grunt 到当前项目,同时加上了 –save-dev 参数,表示会**把刚安装的东西添加到 package.json文件中

npm install  grunt-contrib-concat
需要什么就写相对应的。
接下来就需要配置Gruntfile.js

顾名思义,这是一个js文件,里面可以写任意的js 代码;

使用如下:
module.exports = function(grunt) {

    除了自己所需要的模块,关于grunt的有关的主要三块代码

    任务配置代码:调用插件配置一下要执行的任务和实现的功能
    grunt.initConfig({
        pkg:grunt.file.readJSON('package.json'),
        `这句话表示读取package.json文件,并把里面的信息获取出来,方便在后面的任务中应用`
        uglify:{//这个名字是固定的,表示下面调用的uglify插件
            options:{//首先是配置了全局的options
                banner:'!<%=pkg.name %><%=grunt.template.today() %>'
            },
            build:{//然后新建一个build任务
                src:'src/<%=pkg.name %>.js',//把这个js 文件压缩,
                dest:'build/<%=pkg.name%>.min.js'//压缩后的文件在这输出
            }
        }
    })
    插件加载代码:把需要用到的插件加载进来
    当上面的uglify插件安装到项目之后,写下这段代码
    grunt.loadNpmTask('grunt-contrib-uglify')

    任务注册代码:注册一个 task,里面包含刚在前面编写的任务配置代码
    在上面的代码中已经加载了,并且有了任务,接下来就是注册任务
    grunt.registerTask('default',['uglify']);
    这段代码表示在default上面注册了一个uglify任务,


}

你可能感兴趣的:(关于grunt)