我写了一个 grunt 插件。在我用誓言编写的测试中,我想在调用之前更改我的 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 并且不使用以前的配置。
有人对实现该目标的这种或其他方式有一些见解吗?
谢谢。