我可以在grunt配置文件gruntfile.coffee中调用js模块吗?

时间:2013-12-03 08:55:25

标签: gruntjs

我正在使用gruntjs来构建我的项目。我想将js模块用于多项目,即multi-gruntfile。

我看到API并搜索grunt插件但找不到我想要的内容。似乎唯一的方法是利用grunt.config和load-grunt-tasks插件。

所以我在tasks文件夹中创建了js模块文件,并在其中设置了配置数据,如下所示(通过coffeescript):

module.exports = (grunt) ->
    _ret=null
    environmentObj=
     test: "test"
     verify: "beta"
     formal: "release"
    grunt.config.set('executeCustomTasks', (arg, arg1, arr) ->
        str = constructPromptStr();
        _ret = getVerInfo(arg1, arg)
        setArg()
    ...
    )
    setArg =  ->
       if _ret.verName is 'formal'
           _ret.verName = ''
       grunt.config.set('state',_ret.verName)
       grunt.config.set('date',_ret.verNum)

并将其称为:

grunt.task.registerTask('default', 'execute tasks by param by grunt cli', (arg, arg1) ->
        grunt.config.get('executeCustomTasks')(arg, arg1,getTasksArr(arg))

    )

我做的是正确的吗?这是最好的做法吗?

最好的问候

1 个答案:

答案 0 :(得分:0)

我现在明白了。 grunt.task.loadTasks(path)可以加载与任务相关的文件,这样我就可以创建和引用路径中的文件。 参考链接: http://gruntjs.com/api/grunt.task https://github.com/cowboy/wesbos/commit/5a2980a7818957cbaeedcd7552af9ce54e05e3fb