- Gruntfile配置说明
# 自定义Grunt配置 提供了一个可视化的工具用于生成一个基础的package.json和Gruntfile.js文件. package.json文件用以配置项目的相关依赖; Gruntfile.js用于根据生成的package.json文件配置指定的相关任务依赖信息. - 配置package.js - 配置Gruntfile.js # package.json配置依赖 生成一个基本package.json文件, 用于配置项目的基本信息以及声明构建依赖的插件.
html
<form id="packageForm" class="form-horizontal" name="package">
    <legend>package.json</legend>
    <label for="projectName" class="control-label">项目名称</label>
    <input type="text" id="projectname" name="name" class="input-block-level" value="unnamed project" />
    <label for="projectVersion" class="control-label">项目版本</label>
    <input type="text" id="projectVersion" name="version" class="input-block-level" value="0.0.1" />
    <label for="projectDescription" class="control-label">项目描述</label>
    <input type="text" id="projectDescription" name="description" class="input-block-level" placeholder="description" />
    <label for="projectDist" class="control-label">项目构建目录</label>
    <input type="text" id="projectDist" name="dist" class="input-block-level" value="./dist" />
    <label for="" class="control-label">项目依赖</label>
    <!-- <label for="concat-checkbox" class="checkbox inline"> <input type="checkbox" name="" id="concat-checkbox" value="concat"> concat(代码合并) </label> -->
    <label for="grunt-contrib-jshint-checkbox" class="checkbox inline">
        <input type="checkbox" name="" id="grunt-contrib-jshint-checkbox" value="jshint" /> jshint(js代码检查) </label>
    <label for="grunt-contrib-uglify-checkbox" class="checkbox inline">
        <input type="checkbox" name="" id="grunt-contrib-uglify-checkbox" value="uglify" /> uglify(js代码压缩) </label> <!-- <label for="grunt-contrib-csslint-checkbox" class="checkbox inline"> <input type="checkbox" name="" id="grunt-contrib-csslint-checkbox" value="csslint"> csslint </label> -->
    <label for="grunt-contrib-cssmin-checkbox" class="checkbox inline">
        <input type="checkbox" name="" id="grunt-contrib-cssmin-checkbox" value="cssmin" /> cssmin(css代码压缩) </label>
    <a class="btn btn-success" download="package.json" id="packageBtn">下载package.json</a>
</form>
# Gruntfile.js配置任务 生成一个package.json中配置的项目依赖的详细信息, 用于配置构建任务信息.
package.json配置说明
- 项目名称
 - [可选]配置所在项目的名称
 - 项目版本
 - [可选]配置项目版本信息
 - 项目描述
 - [可选]配置所在项目的描述信息
 - 项目依赖
 - [可选择任意项]用于配置配置构建任务依赖, 以及使用相关插件构建项目
 
package.json配置选项中提供了几条默认的配置信息, 分别是main入口, scripts, lisence以及依赖中的grunt选项和copy插件.
一个package.json示例
- {
 - "name": "Prowork",
 - "version": "0.0.1",
 - "description": "Prowork",
 - "main": "index.js",
 - "scripts": {
 - "test": "echo \"Error: no test specified\" && exit 1"
 - },
 - "repository": "",
 - "license": "MIT",
 - "devDependencies": {
 - "grunt": "~0.4.0",
 - "grunt-contrib-jshint": "~0.1.1",
 - "grunt-contrib-uglify": "~0.1.2",
 - "grunt-contrib-cssmin": "~0.5.0",
 - "grunt-contrib-csslint": "~0.1.1",
 - "grunt-usemin": "~0.1.10",
 - "grunt-contrib-concat": "~0.1.3",
 - "grunt-htmlhint": "~0.4.0"
 - }
 - }
 
更多的配置, 可在生成的package.json中手动的添加.
Gruntfile.js配置说明
静态资源复制
用于复制项目中不需要构建发布时处理的文件, 例如图片, 程序源码等文件
- 静态资源文件
 - 指定一个逗号分割的源文件列表, 可使用匹配模式. 例如'src/*.js/'用于匹配src目录下的所有以.js结尾的文件.
 - 静态资源目标路径
 - 指定一个目标文件路径.
 - 静态资源目录
 - 指定相对于项目文件根目录的资源文件路径
 
jshint资源文件
- jshint/csslint资源文件
 - 指定jshint/csslint处理的资源文件路径, 它是一个逗号分割的资源列表.
 
jshint资源文件
- uglify/cssmin任务文件列表
 - 指定逗号分割的目标文件:源文件列表.
 
更多配置可在生成的Gruntfile.js文件中手动的指定配置.
