Javascript 在windows上的npm脚本中使用通配符
我正在尝试使用带有npm脚本命令的jshint来lint所有javascript文件 我在windows上运行,无论指定什么通配符,我似乎都不能删除多个文件 引用特定文件可以: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", //
"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
,但是: