美文网首页
前端自动化工具grunt搭建一个新项目(一)

前端自动化工具grunt搭建一个新项目(一)

作者: 薄荷星球 | 来源:发表于2016-10-30 21:10 被阅读510次

定了接下来的学习路线。
打算先学自动化工具:gulp+webpack+bower,其中gulp和webpack是用于打包,bower用于装包。
之后是服务器端的nodeJS+mongDB,再是模块管理如npm、es6,seaJS,学长叫我不要再学requireJS说快被淘汰了。
最后研究框架,react和Angular,目前已经学过vueJS,入了点门尝到了甜头。


详细文档请参考:http://www.gruntjs.net/getting-started

  • 创建一个项目,建立一个app文件夹,内创建一个index.html和js文件夹含有index.js文件。
  • 命令行运行npm init 会生成一个package.json文件
  • 运行npm install grunt --save-dev, 运行grunt并且将其存入dev中
  • 安装load-grunt-tasks和time-grunt
    npm install load-grunt-tasks --save-dev npm insyall time-grunt --save-dev
  • 创建gruntfile.js文件:vim gruntfile.js
  • 编写gruntfile.js文件
'use strict'//使用es5的严格格式
module.exports = funtion(grunt){
    //引入文件
    require('load-grunt-tasks')(grunt);
    require('time-grunt')(grunt);
    var config = {
        app:'app',
        dist:'dist'
    }
    grunt.initConfig({
        config:config
    });}```

- 安装grunt-contrib-copy和clean。一个用于复制一个用于删除。
`npm install grunt-contrib-copy --save-dev`
`npm install grunt-contrib-clean --save-dev`
- 在initConfig({})中添加:

copy:{
dist:{
src: '<%= config.app %>/index.html',
dest: '<%= config.dist %>/index.html'
}
},

    clean:{
        dist:{
            src:'<%= config.dist %>/index.html'
        }
    }
src是源文件,dest是目标文件。src不仅支持以上格式,同样支持数组格式,这部分内容在文章顶部的中文文档中有说明,我就不细写了。其中有一种files格式,形成一个数组或者是键值对,如

copy:{
files:{
' 目标文件 ':'源文件',
' 目标文件 ':['源文件数组']
}
}

但以上格式不支持额外参数,如果需要支持额外参数,需要写成`file:[{  }]`形式
  1. 此处还有一部分学习内容为过滤器,更多内容可以在中文文档中找到:
![](https://img.haomeiwen.com/i13735/46fa62219134cbba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  2. 以及执行过程中有一些想要避开的操作,可以用一个额外参数filter,filter既可以使用isFile这种status也可以自己定义function
  3. 另一个额外参数叫dot,当dot配置项的值为true,会同时名中以点为开头的文件
  4. 一个额外参数叫matchBase,当其为true时,只匹配basename(如false时会匹配到abc文件和abc文件子文件,为true时,只匹配到abc文件)
  5. expand,为true时处理动态的src到dest之间的映射
![](https://img.haomeiwen.com/i13735/9ed031ac4e2901ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如图,cwd代表的是相对于src的一个目录,ext表示执行后对文件名的修改,extDot表示从何处开始修改,可以设定为’first‘,表示当遇到index.max.html,生成的是index.min.html,指定为last时,表示将最后一个点后面的内容作为extension。flatten为true时去掉中间各层目录,rename在ext和extDot后执行
- 编写完copy和clean以后,可以在命令行中使用grunt copy和grunt clean调用执行task

相关文章

  • Grunt 与 Gulp 前端自动化集成工具

    前端自动化集成工具:前端框架+工具 例如:Yeoman / Bower / Grunt / Gulp 一、grun...

  • gulp

    叫做前端自动化构建工具,此类工具还有:grunt前端自动化构建工具 是什么?答: 自动化 less sass ...

  • 有哪些必看的前端 JS 库?

    前端自动化 前端构建工具 gulp – The streaming build system grunt – th...

  • 前端自动化工具grunt搭建一个新项目(一)

    定了接下来的学习路线。打算先学自动化工具:gulp+webpack+bower,其中gulp和webpack是用于...

  • grunt及gulp的使用

    grunt是压缩代码,合并代码,检测代码书写规范grunt也是前端自动化,构建项目工具grunt官网:http:/...

  • grunt gulp

    grunt gulp grunt: 压缩代码,合并代码,检测代码书写规范... 前端自动化工具 构建项目 官网:h...

  • Grunt与Gulp

    Grunt https://www.gruntjs.net/是一套前端自动化工具,一个基于nodeJs的命令行工具...

  • gulp入门教程

    gulp是前端的自动化构建工具,gulp的出现是希望能取代grunt,成为最流行的前端自动化构建工具,它与grun...

  • 一文学会gulp

    说一下前端的自动化构建工具gulp吧,其实国内的前端自动化工具比较流行的还有就是fis和grunt了,但是我觉得目...

  • gulp笔记 - 安装及快速上手

    前言 我了解到的前端自动化构建工具主要是grunt,gulp和webpack。其中grunt从效率来看,目前业内普...

网友评论

      本文标题:前端自动化工具grunt搭建一个新项目(一)

      本文链接:https://www.haomeiwen.com/subject/dqyuuttx.html