我写了一个咕噜的插件。 在用vows编写的测试中,我想在调用之前更改我的gruntfile中定义的一些配置对象
grunt.tasks(["my_task"], {}, function(){
// do something}
)
目标是执行我在gruntfile中使用不同配置多次定义的任务。
我无法使用经典的nodeunit方法,因为我想要更改的配置不是我的任务的配置。另外我在nodeunit启动grunt任务时遇到了一些问题。
我有这样的事情:
grunt.initConfig({
object_I_want_to_alter:{...},
the_task_I_call:{...}
})
似乎没有真正的解决方案来驱动API中的grunt,因为它是一个命令行工具。 尽管如此,仍有两种API方法可以提供帮助:grunt.util.spawn和grunt.tasks
两者似乎都是黑盒子,在调用时读取gruntfile。
如果我尝试第一次调用grunt.tasks()来预加载配置,我可以改变我的对象,但第二次调用grunt.tasks()似乎完全重新加载gruntfile并且不使用以前的配置。
是否有人对此目标或其他方式有所了解?
感谢。
答案 0 :(得分:0)
好的,找到了解决方案。
来自咕噜咕噜咕噜咕噜咕噜的This answer在我脑海中待了一段时间,但我现在才明白这一点。实际上,如果您删除gruntfile并首先使用hack从测试中完成所有操作,那么您可以随意使用您的配置。
感谢Kyle Robinson Young提供的信息。
尽管如此,在grunt网站上有更多关于此的内容会很棒。