Grunt& Lineman - 使用参数运行任务

时间:2016-02-19 13:08:16

标签: javascript angularjs coffeescript gruntjs linemanjs

是否可以参数化现有的grunt任务? F.E.有一个 pages task我希望根据自定义参数添加一些其他操作。我一直在尝试在 application.js

中添加类似内容
...
pages: {
    dev: {
        someParam: true
    }
},
...

并将其打印在pages.coffee:

grunt.registerMultiTask "pages", "generates static HTML files", (someParam) ->
grunt.log.writeln("#{someParam}"); //prints undefined

所以看起来就是将价值传递给任务的问题:我做错了什么?

1 个答案:

答案 0 :(得分:0)

解决了它:里面的pages.coffee:

taskConfig = grunt.config.get("pages")
grunt.log.writeln("${taskConfig.someParam}")

一般来说,如果你想覆盖Lineman使用的一些已定义的变量(f.e. source / destination folders),我建议你研究一下node_modules/{module_name}/config/plugins。在分析了这些文件后,您可以轻松找出如何覆盖某些属性的方式(非常类似于我在初始帖子中所做的那样)。