首先要安装全局的grunt-cli

sudo npm install grunt-cli -g

1,项目中初始化npm文件,项目名不要和【关键词】如grunt重复,一直回车即可

npm init

2,安装grunt和connect、watch、livereload

connect插件异常
推荐到github上下载:https://github.com/gruntjs/grunt-contrib-connect
npm install grunt-contrib-connect --save-dev  

npm install grunt --save-dev

npm install grunt-contrib-watch --save-dev

npm install connect-livereload --save-dev

npm install --save-dev serve-static serve-index
也可以将以下代码手动加入到package.json中去,然后在控制台输入npm install
 "devDependencies": {
    "connect-livereload": "^0.5.4",
    "grunt": "^0.4.5",
    "grunt-contrib-connect": "^1.0.1",
    "grunt-contrib-watch": "^1.0.0"   "serve-index": "^1.7.3",    "serve-static": "^1.10.2"
  }

3,在当前项目根目录创建并且配置Gruntfile.js

module.exports = function(grunt) {

  // LiveReload的默认端口号,你也可以改成你想要的端口号
  var lrPort = 35729;
  // 使用connect-livereload模块,
  var lrSnippet = require('connect-livereload')({ port: lrPort });
  var serveStatic = require('serve-static');
  var serveIndex = require('serve-index');
  var lrMiddleware = function(connect, options, middlwares)  {
    return [lrSnippet,serveStatic(options.base[0]),serveIndex(options.base[0])];
  };

  // 项目配置(任务配置)
  grunt.initConfig({
    // 读取我们的项目配置并存储到pkg属性中
    pkg: grunt.file.readJSON('package.json'),
    // 通过connect任务,创建一个静态服务器
    connect: {
      options: {
        // 服务器端口号
        port: 8000,
        // 服务器地址(可以使用主机名localhost,也能使用IP)
        hostname: 'localhost',
        // 物理路径(默认为. 即根目录) 注:使用'.'或'..'为路径的时,可能会返回403 Forbidden. 此时将该值改为相对路径 如:./app
        base: '.',
        open:true
      },
      livereload: {
        options: {
          // 通过LiveReload脚本,让页面重新加载。
          middleware: lrMiddleware
        }
      }
    },
    // 通过watch任务,来监听文件是否有更改
    watch: {
      client: {
        // 我们不需要配置额外的任务,watch任务已经内建LiveReload浏览器刷新的代码片段。
        options: {
          livereload: lrPort
        },
        // '**' 表示包含所有的子目录
        // '*' 表示包含所有的文件
        files: ['app/*.html', 'app/styles/*', 'app/scripts/*', 'app/images/*']
      }
    }
  }); // grunt.initConfig配置完毕

  // 加载插件
  grunt.loadNpmTasks('grunt-contrib-connect');
  grunt.loadNpmTasks('grunt-contrib-watch');

  // 自定义任务
  grunt.registerTask('default', ['connect', 'watch']);
};

4,控制台中输入grunt即可

Grunt - 前端开发所见即所得的更多相关文章

  1. grunt 前端开发环境搭建

    1.找管理员开通gitlab权限 2.下载并安装git工具 3.下载并安装nodejs 4.安装cnpm 5.安装kulor-cli cnpm install -g kulor-cli cnpm in ...

  2. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  3. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  4. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  5. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  6. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  7. 用grunt搭建自动化的web前端开发环境-完整教程

    原稿:http://www.cnblogs.com/wangfupeng1988/p/4561993.html#!comments jQuery在使用grunt,bootstrap在使用grunt,百 ...

  8. 用grunt搭建自动化的web前端开发环境

    用grunt搭建自动化的web前端开发环境 jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发 ...

  9. 利用 Grunt (几乎)无痛地做前端开发 (一)之单元测试

    前言 如果你想开发一个js应用,甭管多简单,都要先创建整个宇宙 来看看我们的Javascript小宇宙: 确定如何根据需求.功能划分模块,如何将代码分成多个文件开发,合成一个发布 保证上一条的同时,使 ...

随机推荐

  1. Linux删除乱码文件

    2015年2月28日 17:11:54 1.  ls -i  列出文件的inode号 ??Φ-ͦ?+?-ˬͩ-????-??.doc 2.  find folder -inum -delete -de ...

  2. HDU 2588 GCD (欧拉函数)

    GCD Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status De ...

  3. CodeForces - 416A (判断大于小于等于 模拟题)

    Guess a number! Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Sub ...

  4. iOS7隐藏顶部状态栏

    找到工程中的Supporting Files/工程名-info.plist 添加设置 1.status bar is initially hidden=YES 2.View Controller-ba ...

  5. July 24th, Week 31st Sunday, 2016

    Miracles happen every day. 奇迹每天都在发生. Miracles actually happen every day, every moment. You may think ...

  6. iphone越狱还原

    在Cydia 里安装Impactor 就行了 .在操作时需要全程联网: .请至少保证 % 的电量以防止在恢复过程出现断电的情况(建议将设备连接至电源): .设备将恢复至出厂状态,所有用户数据都将被清除 ...

  7. java 格式化时间

    java.text.DateFormat format1 = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); form ...

  8. Base Filtering Engine 拒绝访问解法

    基本筛选引擎(BFE)是一种管理防火墙和 Internet 协议安全(IPsec)策略以及实施用户模式筛选的服务.停止或禁用 BFE 服务将大大降低系统的安全.还将造成 IPsec 管理和防火墙应用程 ...

  9. kvm NET 和 BRIDGE

    net: <interface type='network'> <mac address='52:54:00:e1:ac:43'/> <source network='d ...

  10. 项目如何脱离TFS 2010的管理

    在VS 里,文件->源代码管理->更改源代码管理->取消绑定.