发布于 2015-12-20 03:55:24 | 220 次阅读 | 评论: 0 | 来源: PHPERZ
Grunt JavaScript构建工具
Grunt 是一个基于任务的JavaScript工程命令行构建工具
生成package.json
文件,通过npm init
命令。
安装你需要的Devdependencies/denpendencies
。
npm install grunt --save-dev
npm install load-grunt-tasks --save-dev
npm install time-grunt --save-dev
npm install grunt-contrib-watch --save-dev
npm install grunt-contrib-less --save-dev
npm install grunt --save
'use strict';
module.exports = function(grunt){
require('time-grunt')(grunt);
require('load-grunt-tasks')(grunt);
grunt.initConfig({
less: {
build: {
expand: true,
cwd: 'less/',
src: '['*.less']',
dist: 'css/',
ext: '.css'
}
},
watch: {
files: ['less/**/*.less'],
tasks: ['default']
}
});
grunt.registerTask('default', ['less']);
}
grunt.initConfig()
里面传入对象
每一个字段名代表一个task
task
里面的内容为target
目标
在less
这个task
里面:
expand: true
开始动态编译
cwd: 'less/'
所有的'src'里指定文件都是相对于这个属性指定的路径
src: ['*.less']
相对与cwd路径下需要匹配的文件,这个地方是匹配所有的less文件
dest: 'css/'
生成目标文件的路径
ext: '.css'
替换所有生成的目标文件的后缀为这个属性
在watch
这个task
里面:
files:['less/**/*.less']
表示监听less文件夹下,所有less文件,以及所有目录下的less文件
tasks: ['default']
表示当上面被监听的文件发生变化的时候会执行这个任务
grunt.registerTask('default', ['less'])
//注册'default',里面包含'less'任务
<link href='less/index.less'/>
<script src='node_modules/less/less.js'></script>
打开命令行窗口,输入 grunt watch
这条命令就表示启动grunt
的task(watch)
,因为在task(watch)
里面配置了tasks
,即表示当监听的文件发生变化的时候会执行default
任务
这时候你在index.less
文件里面做出的修改命令行都出实时编译为css
,放心刷新浏览器就好了
webstorm有自带的less/sass
编译功能,也可以进行相应的配置进行less文件的实时编译