【问题标题】:All checks have failed due to Warning: RequireJS failed. Use --force to continue由于警告:RequireJS 失败,所有检查都失败了。使用 --force 继续
【发布时间】:2020-05-17 15:02:18
【问题描述】:

我不是普通的开发人员。
我只想为select2 添加语言翻译;翻译默认的src/js/select2/i18n/en.js 文件内容,创建新文件,将标签从英文更改为非英文。
提交拉取请求后,我看到所有检查都失败并且低于 CI/Linting 结果:

Run grunt compile lint
Running "requirejs:dist" (requirejs) task
Error: ENOENT: no such file or directory, open
'/home/runner/work/select2/select2/src/js/select2/i18n/en.js'
In module tree:
select2/core
select2/options
select2/defaults
Warning: RequireJS failed. Use --force to continue.

Aborted due to warnings.
##[error]Process completed with exit code 6.

CI/Tests 和 CI/Minification 的结果相同。 要成功合并翻译文件需要做什么。

【问题讨论】:

    标签: javascript github gruntjs jquery-select2


    【解决方案1】:

    构建您的第一个 pull request 失败,因为您的提交删除了此 PR comment 中提到的 en.js 文件。那就是你在这个问题中提到的错误日志。

    由于构建日志中的以下原因,您的第二个 pull request 失败

    Running "jshint:code" (jshint) task
    
       src/js/select2/i18n/te.js
         13 |                var message = overChars + ' అక్షరం తొలిగించండి';
                                 ^ 'message' is already defined.
         16 |            return message;
                                ^ 'message' used out of scope.
         31 |                var message = 'మీరు ' + args.maximum + ' అంశాల్ని మాత్రమే ఎంచుకోగలరు';
                                                                                                  ^ Line is too long.
         33 |                var message = 'మీరు ' + args.maximum + ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
                                                                                                  ^ Line is too long.
         33 |                var message = 'మీరు ' + args.maximum + ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
                                 ^ 'message' is already defined.
         36 |            return message;
                                ^ 'message' used out of scope.
    
    >> 6 errors in 103 files
    

    无论您在哪里看到'message' is already defined'message' used out of scope,这是由于多次错误地定义了message 变量并在其范围之外使用了该变量。错误 Line is too long 是由于特定行超出了作为 linting 配置的一部分设置的每行最大限制。

    将您的 inputTooLong 函数更改为

       inputTooLong: function (args) {
            var overChars = args.input.length - args.maximum;
            var message = overChars;
    
            if (overChars != 1) {
                message += ' అక్షరాలు తొలిగించండి';
            } else {
                message += ' అక్షరం తొలిగించండి';
            }
    
            return message;
        }
    

    并将您的 maximumSelected 函数更改为

       maximumSelected: function (args) {
            var message = 'మీరు ' + args.maximum;
    
            if (args.maximum != 1) {
                message += ' అంశాల్ని మాత్రమే ఎంచుకోగలరు';
            } else {
                message += ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
            }
    
            return message;
        }
    

    您还提供了比预期更多的缩进。将 repo 中的文件 en.js 与您的更改进行比较,并相应地删除额外的缩进。

    注意:我建议您在本地机器上运行 linting 构建,使用他们的 GitHub 操作 config 中指定的命令 grunt compile lint,以便您可以在将更改推送到 GitHub 存储库之前了解任何错误

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 2021-06-21
      • 2018-08-18
      • 2014-06-18
      • 2023-01-28
      相关资源
      最近更新 更多