gpt4 book ai didi

gruntjs - 咕噜声 : How to compose two multitasks as another multitask plugin?

转载 作者:行者123 更新时间:2023-12-04 16:10:36 26 4
gpt4 key购买 nike

我有几个 npm 模块,我想使用通用的 linting 配置。我有 jshint 和闭包 linter 通过 Grunt 处理单个项目。但是为每个项目复制/粘贴 .jshintignore 文件和 .jshintrc 文件会很麻烦,尤其是在需要更改某些内容时。所以理想情况下,我希望有一个单一的 grunt 任务,它封装了通用配置并且可以通过

grunt.loadNpmTasks('grunt-mysuperlint');

在哪里 grunt-my-common-lint-tasks实际上只是 jshint 和闭包 linter 的特定默认配置。

但我认为没有办法将两个现有的 grunt 插件组合成一个,其中唯一真正的组合是选项和目标的合并。

这可能吗?

我应该做类似的事情:
grunt.registerMultiTask('mysuperlint', function() {
// Manual options merging?
var opts = this.options({
jshint: { src: 'scripts/**/*.js', options: { ... } },
closureLinter: { src: 'scripts/**/*.js', options: { ... } }
});
grunt.config.set('jshint.dev', opts.jshint);
grunt.config.set('closureLinter.dev', opts.closureLinter);
grunt.task.run('jshint:dev');
grunt.task.run('closureLinter:dev');
});

任何帮助或指示将不胜感激。

最佳答案

虽然这不能直接回答您的问题,但我可以为您的原始问题提出一个简单的技巧:
您可以拥有一个全局 .jshintignore 文件并从每个项目软链接(soft link)到它。
这有点像黑客,但它更简单

关于gruntjs - 咕噜声 : How to compose two multitasks as another multitask plugin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19391482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com