我正在使用gruntjs来构建我的js应用程序。我的grunt文件设置为运行两个独立的版本,其中80%的代码对于两者都是相同的,并且取决于构建,我们包括附加文件并排除一些文件。grunt-regard可以配置为运行watch任务的一个子集而不是所有任务吗?
我有grunt安装程序来正确运行这两个不同的版本,除非我不能告诉grunt-多次运行。
regarde:
coffeeScripts:
files: ['app/scripts/kiosk/*.coffee', 'app/scripts/*.coffee'],
tasks: ['coffee:compileKiosk', 'livereload']
stylusScripts:
files: ['app/css/kiosk/*.styl', 'app/css/*.styl'],
tasks: ['stylus:compileKiosk', 'livereload']
coffeeScriptsWeb:
files: ['app/scripts/web/*.coffee', app/scripts/*.coffee],
tasks: ['coffee:compileWeb', 'livereload']
stylusScriptsWeb:
files: ['app/css/web/*.styl', 'app/css/*.styl],
tasks: ['stylus:compileWeb', 'livereload']
我希望能够做类似于下面的任务,但只有第一个regarde任务运行,第二个被忽略。与网络建设工作时,我不想重新编译所有的亭文件和网页文件时,文件更改
grunt.registerTask 'watchKiosk', ['livereload-start', 'regarde:coffeeScripts', 'regarde:stylusScripts']
grunt.registerTask 'watchWeb', ['livereload-start', 'regarde:coffeeScriptsWeb', 'regarde:stylusScriptsWeb']
我的文件夹结构看起来像
app (application root)
scripts (contains common script files)
kiosk (contains script files only for kiosk build)
web (contains script files only for web build)
css (contains common css files)
kiosk (contains css files only for kiosk build)
web (contains css files only for web build)
理想。
有没有什么办法可以设置grunt来定义多个regarde任务并运行我想要构建的特定任务?
如果我运行这些繁重的任务的腕表作品,但将重建不我与
grunt.registerTask 'watchKiosk', ['livereload-start', 'regarde']
grunt.registerTask 'watchWeb', ['livereload-start', 'regarde']
我认为你必须使用咕噜事件,有关的任务。我的答案与您的用例不完全相同,但它提供了一个总体思路:http://stackoverflow.com/a/15496488/1916258 – asgoth 2013-04-12 07:18:27