Javascript 在windows上的npm脚本中使用通配符

Javascript 在windows上的npm脚本中使用通配符,javascript,node.js,npm,Javascript,Node.js,Npm,我正在尝试使用带有npm脚本命令的jshint来lint所有javascript文件 我在windows上运行,无论指定什么通配符,我似乎都不能删除多个文件 引用特定文件可以: "scripts": { "lint": "jshint app/main.js" } 但以下所有情况都会导致错误: "scripts": { // results in Can't open app/**/*.js' "lint1": "jshint app/**/*.js", //

我正在尝试使用带有npm脚本命令的jshint来lint所有javascript文件

我在windows上运行,无论指定什么通配符,我似乎都不能删除多个文件

引用特定文件可以:

"scripts": {
    "lint": "jshint app/main.js"
}
但以下所有情况都会导致错误:

"scripts": {
    // results in Can't open app/**/*.js'
    "lint1": "jshint app/**/*.js",

    // results in Can't open app/*.js'
    "lint2": "jshint app/*.js",

    // results in Can't open app/**.js'
    "lint3": "jshint app/**.js",
}

虽然在windows上的npm中将jshint作为脚本任务运行时不能使用通配符,但可以解决这个问题。默认情况下,如果向jshint传递一个目录,它将递归地搜索该目录。因此,在您的情况下,您可以简单地执行以下操作:

"script": {
  "lint": "jshint app"
}
甚至

"script": {
  "lint": "jshint ."
}
这将导致所有文件(包括节点_模块中的文件)被删除,这可能不是您想要的。最简单的解决方法是在项目根目录中有一个名为
.jshintignore
的文件,其中包含您不希望删除的文件夹和脚本:

node_modules/
build/
dir/another_unlinted_script.js

这是一个跨平台的jshint解决方案,作为npm中的脚本任务。

我不知道它是否仍然正确,因为问题是从2011年开始的,对于
jslint
,但是: