标签:理解 技术 后缀名 logs img 写入 func tco module
1. 新建文件和文件目录
mkdir grunt-in-action cd grunt-in-action cd grunt-in-action mkdir grunt-empty cd grunt-empty vim index.html mkdir js cd js vim index.js cd ..
2. npm和grunt初始化
npm init npm install grunt --save-dev npm install //如果想要node_module,就 加载
3. 安装task
npm install load-grunt-tasks --save-dev npm install time-grunt --save-dev npm install grunt-contrib-copy --save-dev npm install grunt-contrib-clean --save-dev
4. 写入好配置
‘use strict‘;
module.exports = function (grunt) {
//引入执行task的grunt插件或者叫做module
require(‘load-grunt-tasks‘)(grunt);
//引入执行事件显示grunt的模块
require(‘time-grunt‘)(grunt);
var config = {
app: ‘app‘, //app 代表app目录
dist: ‘dist‘ //dist 代表dest目录
}
grunt.initConfig({
config: config,
//copy任务
copy: {
/*
//字符串形式的
dist_html: {
//src 表示源文件
src: ‘<%= config.app %>/index.html‘,
//dest 表示布标文件
dest: ‘<%= config.dist %>/index.html‘
},
dist_js: {
src: ‘<%= config.app %>/js/index.js‘,
dest: ‘<%= config.dist %>/js/index.js‘
}
*/
/*
//数组形式
dist: {
files: [
{
src: ‘<%= config.app %>/index.html‘,
dest: ‘<%= config.dist %>/index.html‘
},
{
src: ‘<%= config.app %>/js/index.js‘,
dest: ‘<%= config.dist %>/js/index.js‘
}
]
}*/
//对象简直对
dist: {
/*files: {
‘<%= config.dist %>/index.html‘:‘<%= config.app %>/index.html‘,
‘<%= config.dist %>/js/index.js‘: [‘<%= config.app %>/js/index.js‘]
}*/
files: [
{
expand: true,
cwd: ‘<%= config.app %>/‘, //表示源码目录
// src: ‘*.html‘,
src: ‘**/*.js‘,
dest: ‘<%= config.dist %>/‘, //表示目标路
ext: ‘.js‘, //后缀名匹配
// extDot: ‘first‘ //表示文件名第一个点之后内容与src匹配
extDot: ‘last‘,//表示文件名最后一个点之后的内容与src匹配
flatten: true, //表示平铺,意思在dist目录下就生成了,而不再生成目标子级目录
rename: function(dest,src){ //重命名
/*
* rename 要在ext extdot flatten开启才有效
* dest 表示目标目录
* src 表示文件名
* */
return dest + ‘js/‘ + src;
},
}
]
}
},
//清楚任务,注意看英语单词就能理解其意思
clean: {
dist: {
/*
src: ‘<%= config.dist %>‘,
*/
//这里面的*类似正则
src: [‘<%= config.dist %>/**/*‘],
// src: ‘<%= config.dist %>/‘
//额外参数
/*
* filter: fn(param1);
*param1 表示文件目录
* */
// filter: function (filepath) {
// return (!grunt.file.isDir(filepath));
// }
/*
* nonull
* dot
* matchBase
* expand
* */
}
}
});
};
5.运行grunt
grunt copy //运行copy task grunt clean //运行clean task
6.最终的目录结构

标签:理解 技术 后缀名 logs img 写入 func tco module
原文地址:http://www.cnblogs.com/liangcheng11/p/6819691.html