我试图使用带有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",
}
答案 0 :(得分:20)
虽然在Windows上的npm中将jshint作为脚本任务运行时无法使用通配符,但您可以解决它。默认情况下,如果jshint传递给目录,它将以递归方式搜索该目录。所以在你的情况下,你可以简单地做:
"script": {
"lint": "jshint ."
}
甚至
.jshintignore
这将导致所有文件 - 包括node_modules中的文件被删除 - 这可能不是您想要的。最简单的方法是在项目的根目录中包含一个名为node_modules/
build/
dir/another_unlinted_script.js
的文件,其中包含您不想要的文件夹和脚本:
global m_pTest
这是jshint作为npm脚本任务的跨平台解决方案。