我对 grunt-watch 有疑问。当我在终端输出中使用“grunt”时 “正在运行“观看”任务正在等待...”
krp-arina@krparina-Lenovo-G555:~/server$ grunt
Running "watch" task
Waiting...
krp-arina@krparina-Lenovo-G555:~/server$ grunt -v
Initializing
Command-line options: --verbose
Reading "Gruntfile.js" Gruntfile...OK
Registering Gruntfile tasks.
Registering "grunt-contrib-less" local Npm module tasks.
Reading /home/krp-arina/server/node_modules/grunt-contrib-less/package.json...OK
Parsing /home/krp-arina/server/node_modules/grunt-contrib-less/package.json...OK
Loading "less.js" tasks...OK
+ less
Registering "grunt-contrib-watch" local Npm module tasks.
Reading /home/krp-arina/server/node_modules/grunt-contrib-watch/package.json...OK
Parsing /home/krp-arina/server/node_modules/grunt-contrib-watch/package.json...OK
Loading "watch.js" tasks...OK
+ watch
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK
Loading "Gruntfile.js" tasks...OK
+ default, w
No tasks specified, running default tasks.
Running tasks: default
Running "default" task
Running "watch" task
Waiting...
Verifying property watch exists in config...OK
但这没有任何作用,它只是结束了。
我想在每次更改时减少编译。 这是我的 Gruntfile.js
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
dist:{
files: {
'pd_wp/www/wp-content/themes/anarchy/css/commons.css':'pd_wp/www/wp-content/themes/anarchy/css/commons.less'
},
options: {
compress: true,
cleancss: false
}
}
},
watch: {
options: {
less: {
files: ['pd_wp/www/wp-content/themes/anarchy/css/*.less'],
tasks: ['less'],
// options: {
// spawn: false
// }
}
}
}
});
// Default task(s).
grunt.registerTask('w', ['watch']);
grunt.registerTask('default', ['watch']);
};
我用 grunt-cli v0.1.13 咕噜 v0.4.5 grunt-contrib-less v1.0.0 grunt-contrib-watch v0.6.1 加载-grunt-tasks v3.1.0
nodejs v0.12.1
有人告诉我我做错了什么
我很确定你的问题是 json 配置的顺序。但我可能是错的。 文档列表
watch: { taskName: { options: {} } }
你有
watch: { options: { taskName: {} } }
你试过这个吗:
watch: {
less: {
files: ['pd_wp/www/wp-content/themes/anarchy/css/*.less'],
tasks: ['less']
}
}
你必须指定一个任务 示例:
咕噜postcss
如果您不确定,请调用 grunt -help:
grunt -help
Grunt: The JavaScript Task Runner (v0.4.5)
Usage
grunt [options] [task [task ...]]
Options
--help, -h Display this help text.
--base Specify an alternate base path. By default, all file paths are
relative to the Gruntfile. (grunt.file.setBase) *
--no-color Disable colored output.
--gruntfile Specify an alternate Gruntfile. By default, grunt looks in the
current or parent directories for the nearest Gruntfile.js or
Gruntfile.coffee file.
--debug, -d Enable debugging mode for tasks that support it.
--stack Print a stack trace when exiting with a warning or fatal error.
--force, -f A way to force your way past warnings. Want a suggestion? Don't
use this option, fix your code.
--tasks Additional directory paths to scan for task and "extra" files.
(grunt.loadTasks) *
--npm Npm-installed grunt plugins to scan for task and "extra" files.
(grunt.loadNpmTasks) *
--no-write Disable writing files (dry run).
--verbose, -v Verbose mode. A lot more information output.
--version, -V Print the grunt version. Combine with --verbose for more info.
--completion Output shell auto-completion rules. See the grunt-cli
documentation for more information.
Options marked with * have methods exposed via the grunt API and should instead
be specified inside the Gruntfile wherever possible.
Available tasks
sass Compile Sass to CSS *
postcss Process CSS files. *
watch Run predefined tasks whenever watched files change.
default Alias for "watch" task.
Tasks run in the order specified. Arguments may be passed to tasks that accept
them by using colons, like "lint:files". Tasks marked with * are "multi tasks"
and will iterate over all sub-targets if no argument is specified.
The list of available tasks may change based on tasks directories or grunt
plugins specified in the Gruntfile or via command-line options.
For more information, see http://gruntjs.com/
这是postcss的运行时示例
francoisgravel@LMSD-FGRAVEL vistage-mv3 % grunt postcss
Running "postcss:dist" (postcss) task
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
>> 1 processed stylesheet created.
Done, without errors.