gpt4 book ai didi

gruntjs - 为同一任务 Grunt 两次

转载 作者:行者123 更新时间:2023-12-04 18:45:19 25 4
gpt4 key购买 nike

我想运行 jshint 任务两次在 GruntJS ,但每次都有不同的选择。

我将如何去做这样的事情?

目前,我的 Gruntfile.js看起来像这样:

'use strict';

module.exports = function(grunt) {
var opts = {
pkg: grunt.file.readJSON('package.json'),
jasmine_node: {
matchall: true,
forceExit: true
},
jshint: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/bin', '!src/static/js/libs/*.js',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}
};

grunt.initConfig(opts);

grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-jasmine-node');

grunt.registerTask('default', ['jshint', 'jasmine_node']);
grunt.registerTask('travis', ['jshint', 'jasmine_node']);
};

我可能希望它是这样的:
var jshint: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/**',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}

var jshint2 = {
files: [
'src/static/**/*.js',
'!src/static/bin',
'!src/static/js/libs/*.js'
],
options: {
jshintrc: '.jshintrc-browser'
}
};

这样我就可以为前端 javascript 和 NodeJS javascript 选择不同的选项,因为每个环境的 linting 都应该不同

最佳答案

jshintmultitask .所以有可能必须遵循以下配置:

jshint: {
browser: {
files: [
'src/static/**/*.js',
'!src/static/bin',
'!src/static/js/libs/*.js'
],
options: {
jshintrc: '.jshintrc-browser'
}
},
node: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/**',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}
}

运行 浏览器版本 :
grunt jshint:browser .

跑到 节点版本 :
grunt jshint:node .

运行只是:
grunt jshint
将同时运行。

当然,您可能希望通过另一个任务触发它们,例如:
grunt.registerTask('build', ['clean:all', 'jshint:browser', ...]);

您想阅读 Specifying JSHint options and globals 部分了解更多信息。

关于gruntjs - 为同一任务 Grunt 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504939/

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