我试图使用jshint和npm脚本命令来lint我所有的
javascript文件.
我在Windows上运行,无论我指定哪个通配符,我似乎都不能lint多个文件.
引用特定文件有效:
"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 ." }
这将导致所有文件 – 包括node_modules中的文件被删除 – 这可能不是您想要的.最简单的方法是在项目的根目录中包含一个名为.jshintignore的文件,其中包含您不想要的文件夹和脚本:
node_modules/ build/ dir/another_unlinted_script.js
这是jshint作为npm脚本任务的跨平台解决方案.