2

我正在努力让它发挥作用。网络上有很多例子,但它们都做了一些与我的目标略有不同的事情,每次我认为我可以解决它时,我都会遇到一个对我来说毫无意义的错误。

放弃 JSLint.VS 插件后,我尝试创建一个批处理文件,我可以从 Visual Studio 构建事件或巡航控制中调用该批处理文件,这将为项目生成 JSLint 警告。最终目标是获得一个可以传递给 jslint 的组合 js 文件,使用:

cscript jslint.js < tmp.js

这将验证我的脚本是否已准备好合并到一个文件中以在 js 缩小器中使用,或者使用标准输出输出一堆错误。

但构成 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 文件合并到一个临时 js 文件中。这样我就可以灵活地将哪个项目传递给批处理文件。

我一直在尝试使用 copy、xcopy、type 和 echo 来完成这项工作,并使用 for do 循环和 dir /s 等来完成我想要的工作,但无论我尝试什么都会出错。

4

3 回答 3

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

请注意,为简单起见,我没有费心进行任何错误检查(例如,检查是否提供了参数(尽管如果没有提供,它只会使用当前目录)、tmp.js不存在的测试等.)。

于 2010-04-19T04:24:14.467 回答
0

批处理文件提示的好地方是DosTips.com

于 2010-04-15T16:49:29.277 回答
0

看看http://nefariousdesigns.co.uk/archive/2010/02/website-builds-using-make/

这篇文章是为 Linux 世界写的,但你仍然可以从中挽救一些东西。

于 2010-04-15T17:04:11.043 回答