我努力使这个工作。 网上有很多例子,但是他们所做的事情与我打算做的事情略有不同,每当我想我能解决这个问题时,我就会受到一个对我来说毫无意义的错误。
放弃了JSLint.VS插件后,我试图创build一个batch file,我可以从Visual Studio生成事件调用,或者从巡航控制,这将生成一个项目的JSLint警告。 最终目标是获得一个可以传递给jslint的组合js文件,使用:
cscript jslint.js < tmp.js
这将validation我的脚本已准备好被合并到一个文件中用于js minifier,或者使用标准输出输出一堆错误。
但是构成tmp.js的js文件可能在项目中的多个子文件夹中,例如:
D:\_projects\trunk\web\projectname\js\somefile.debug.js D:\_projects\trunk\web\projectname\js\jquery\plugins\jquery.plugin.js
理想的解决scheme是能够按照以下方式调用batch file:
jslint.bat %ProjectPath%
然后将项目中的所有js文件合并到一个临时js文件中。 这样我就可以灵活地将项目传递给batch file。
我一直在尝试使用copy,xcopy,type和echo来工作,并使用for do循环和dir / s等来使它做我想做的事情,但无论我尝试什么,我都会遇到一个错误。
您可以使用以下内容创建批处理文件:
@echo off pushd "%~1" for /r %%x in (*.js) do ( type "%%~x" ) popd
然后通过以下方式运行它:
jslint.bat PATH > tmp.js
如果你不想使用重定向,你可以尝试:
@echo off pushd "%~1" echo.>tmp.js for /r %%x in (*.js) do ( copy tmp.js + "%%~x" tmp.js > NUL ) popd
请注意,为了简单起见,我并没有打扰做任何错误检查(例如检查是否提供了一个参数(尽管如果不是,它只是使用当前目录),测试tmp.js
还没有存在等)。
DosTips.com是批量文件提示的好地方
看看http://nefariousdesigns.co.uk/archive/2010/02/website-builds-using-make/
这篇文章是为Linux世界而写的,但是你仍然可以从中拯救出一些东西。