【发布时间】:2013-06-17 23:59:36
【问题描述】:
我在 phonegap 应用程序中使用 grunt。 在构建我的 webapp 时,我正在为 android、ios 和 web 移动平台生成。 所以每次我声明一个任务时,通常我有 3 个目标,每个平台一个。
我想在启动时更改一些 grunt 任务配置。 因此,我希望每次运行任务时都能收到通知。
例如,我经常有这样的事情:
sass: { // some task
options: {
// some options
},
android: {
// android configuration
},
ios: {
// ios configuration
},
web: {
// web configuration
}
}
在我的 grunt 文件中,我有一个部分可以声明每个目标的状态(活动/非活动),以便我只能构建一个、两个或三个目标。我不想每次都构建所有东西。
例如,当使用 grunt 命令构建时,我不想手动指定每个目标。 我想检测活跃的并只构建那些。在使用 grunt-contrib-watch 之类的插件并声明任务执行时,我无法提前声明每个目标。现在我有 3 个目标,但由于是 phonegap,我明天可能有 7 个。
我可以使用任何 API 或任何未记录的事件来在每次运行之前收到通知并动态修改运行范围吗?
我只看到一个实际咕噜状态的解决方案: - 创建我自己的插件(例如 n),它将作为任务执行的包装器:
grunt n:sass will generate grunt sass:ios sass:web if these two targets are actives
任何帮助表示赞赏。 谢谢。 最好的问候。
【问题讨论】:
-
在您的 grunt 调用中添加
--verbose参数怎么样?够了吗? -
不,我不想知道发生了什么,我想干预和改变通话。
标签: javascript gruntjs