我正在努力让这个工作。网上有很多例子,但是他们都做了一些与我打算做的事情略有不同的事情,每当我想我能解决它时,我就会遇到一个对我没什么意义的错误。
在放弃JSLint.VS插件之后,我正在尝试创建一个批处理文件,我可以从Visual Studio构建事件或者巡航控制中调用它,这将为项目生成JSLint警告。最终目标是获取一个组合的js文件,我可以使用:
传递给jslintcscript jslint.js < tmp.js
这将验证我的脚本是否已准备好合并到一个文件中以便在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
理想的解决方案是能够按以下方式调用批处理文件:
jslint.bat %ProjectPath%
然后将项目中的所有js文件合并到一个temp js文件中。通过这种方式,我可以灵活地将项目传递给批处理文件。
我一直在尝试使用copy,xcopy,type和echo,并使用for do循环,使用dir / s等来使它按照我想要的方式工作,但无论我尝试什么,我都得到了错误。
答案 0 :(得分:5)
您可以使用以下内容创建批处理文件:
@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
请注意,为简单起见,我没有费心去做任何错误检查(例如检查是否提供了参数(尽管如果不提供参数,它只会使用当前目录),测试{{1} }还不存在,等等。)。
答案 1 :(得分:0)
批处理文件提示的好地方是DosTips.com
答案 2 :(得分:0)
查看http://nefariousdesigns.co.uk/archive/2010/02/website-builds-using-make/
这篇文章是为Linux世界编写的,但你仍然可以用它来挽救一些东西。