我想将一个较大的grunt文件分成较小的部分,然后介绍这些文章: https://github.com/firstandthird/load-grunt-config http://ericnish.io/blog/how-to-neatly-separate-grunt-files/ 然而,似乎我错过了一些明显的东西。当我发出“grunt testtask”时,找不到任务。显然,我做的事情非常错误,但我不明白。 这是文件的内容,尽可能地删除:
gruntfile.js:
module.exports = function(grunt) {
var path = require('path');
require('load-grunt-config')(grunt, {
configPath: path.join(process.cwd(), 'grunt3'),
init: true
});
};
grunt3/testtask.js:
module.exports = {
copy: {
main:
{
files:
[{
src: "test1.txt",
dest: "test2.txt"
}]
}
}
};
I added an aliases file:
module.exports = {
'default': [],
'mytesttask': [
'testtask'
]
};
找到默认值。对于mytesttalk,我得到“testtask not found”。 不应该别名.js为文件名(testtask)或“复制”执行registerTask(我也尝试使用'copy'作为目标任务)? 根据--config-debug,有一个名为“testtask”的配置对象。 我在这里缺少什么?
感谢。
附录:发现这篇关于同一主题的非常简单直接的文章,展示了如何进一步简化。再说一次,它不起作用。找不到别名中指定的任务。例如'mytesttask':['testtask'] - >虽然有一个包含原始gruntfile任务的grunt / testtask.js文件,但找不到testtask。我错过了什么?
答案 0 :(得分:1)
在这篇优秀的文章http://mattbailey.io/a-beginners-guide-to-grunt-redux.html的帮助下,该模块的作者之一评论了github,我终于发现了我的想法中的缺陷。文件不是由任务或目标组织,而是由grunt模块组织。所以,你必须将它们命名为copy.js(来自grunt-contrib-copy),cssmin.js(来自grunt-contrib-cssmin),concat.js(来自grunt-contrib-concat)并将各种目标命名为在这些文件中。不是相反(正如我所想)。也许这对文档中的其他人来说很明显,但不适合我。 Matt Bailey的那篇文章真的很棒,因为它只展示了真正必要的东西。上面引用的Eric Nishio的文章不必要地复杂,因为它没有考虑别名文件。