- 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文件中手动的指定配置.