【问题标题】:package.json and Eslint glob extensionpackage.json 和 Eslint glob 扩展
【发布时间】:2019-07-30 21:31:25
【问题描述】:

我的 package.json 在下面。如何更新它以便 eslint 运行:

srctest 目录

.js.jsx 文件?现在 * 通配符包括我不想要的 .json。

package.json

{
...

"lint": "eslint {src/**/*.js*,test/**/*.js*}

...
}

【问题讨论】:

    标签: javascript eslint glob package.json


    【解决方案1】:

    您可以在eslint documentation阅读:

    请注意,当传递一个 glob 作为参数时,它会被你的 shell 扩展。扩展的结果可能因您的 shell 及其配置而异。如果你想使用 node glob 语法,你必须引用你的参数(如果你需要在 Windows 中运行,使用双引号),如下:

    所以建议使用双引号。一旦你使用双引号(需要在 json 字符串中转义),你可以稍微修改你的模式,例如

    {
    ...
    
    "lint": "eslint \"{src,test}/**/*.{js,jsx}\""
    
    ...
    }
    

    使用globster.xyz 进行测试(globster.xyz 一开始需要/,但 eslint 不需要,不知道为什么......)

    通常有不止一种方法可以实现你想要的,但我认为这是最简洁的。

    【讨论】:

    • 我同意这个适用于 windows 机器的解决方案。
    【解决方案2】:

    这是我用来在一个目录上运行 eslint 的:

    "lint": "node_modules/.bin/eslint --ext js --ext jsx src"
    

    我认为您可以将test 目录添加到src 之后的末尾即可。还有更多信息here

    【讨论】:

    • 如果我有 2 个文件夹 src 和 test 怎么办
    • 我认为您可以将test 目录添加到src 之后的末尾以同时执行这两项操作。还有更多信息here
    【解决方案3】:

    我认为您需要在这里以简洁换取具体:

    {
    ...
    
    "lint": "eslint {src/**/*.js,src/**/*.jsx,test/**/*.js,test/**/*.jsx}"
    
    ...
    }
    

    【讨论】:

    • 暂时将此标记为答案,如果有更简洁的方法会很好。但这确实有效
    猜你喜欢
    • 2017-07-12
    • 2019-10-24
    • 2017-12-20
    • 2018-05-19
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2019-11-28
    相关资源
    最近更新 更多