JSLint错误:“期待EOF的换行符”,与Beautify插件冲突

时间:2015-06-22 08:22:39

标签: javascript gruntjs jslint

使用Grunt构建源时遇到问题,使用JSLint任务进行错误检查:

  

L177:文件末尾应该有换行符。   警告:格式化检查失败。使用--force继续。   因警告而中止。

问题很明显,但我还使用了Beautify插件来自:https://github.com/drewhamlett/brackets-beautify,它默认删除文件末尾的所有新行。

我在Gruntfile.js中的JSLint任务配置:

jslint: {
            server: {
                src: [
                    '<%= config.PATH %>/src/**/*.js',
                ],
                directives: {
                    indent: 4,
                    plusplus: true,
                    unparam: true,
                    todo: true,
                    globals: [
                        'angular'
                    ]
                },
                options: {
                    edition: 'latest', // specify an edition of jslint or use 'dir/mycustom-jslint.js' for own path
                    errorsOnly: true, // only display errors
                    failOnError: true // defaults to true
                }
            }
        }

我的问题是,如何更改Gruntfile.js中的JSLint配置以忽略EOF中的换行符或强制Beautify插件添加(或根本不删除)文件末尾的新行?

1 个答案:

答案 0 :(得分:1)

根据Brackets Beautify Documentation,它在内部使用JS-Beautify。后者的文档提到了这些参数:

-n, --end-with-newline
-p, --preserve-newlines

如果您可以强制Adobe Brackets将参数传递给js-beautify调用,我猜其中一个应该可以解决这个问题。

更新

根据Github repo,括号美化在内部使用settings.json进行配置。添加

"end_with_newline": true

可能比攻击命令行调用更容易。

第二次更新

如果我正确理解README,扩展程序只是一个文件夹,所以这应该有效:

  • 找到扩展程序文件夹:菜单“帮助&gt;显示扩展程序文件夹”
  • 找到Beautify插件的子文件夹
  • 在插件文件夹
  • 中更改settings.json
  • (可能)重启Adobe Brackets