我正在运行 jsmin 将 ASP.Net Web 应用程序的所有 javascript 文件压缩为 csproj 文件中的构建后事件,如下所示:
"JsMin.exe" "$(ProjectDir)script" "$(ProjectDir)script\minified.js"
当我将所有 js 文件保存在脚本文件夹的根目录中时,这工作正常。但随着该文件夹中的文件开始增多,我决定将文件分成子文件夹。现在看来jsmin只获取根文件夹中的js文件,我看不到它有任何选项可以包含子文件夹中的文件。对于这样的情况,有人有好的解决方案吗?在我看来,这应该是一件很常见的事情,所以这就是为什么我有点惊讶它不是 jsmin.exe 启用子文件夹的参数。
最佳答案
您应该能够使用 DOS 的 for
命令来执行此操作:
for /R "$(ProjectDir)scripts/debug" %s in (*.js) do JsMin.exe %s > "$(ProjectDir)scripts/release/%~ns.min.js"
假设脚本位于名为 ~/scripts/debug 的目录(或目录中),并将它们缩小到 ~/scripts/release,并将 .js 替换为 .min.js。
我已经在 CMD 中对此进行了测试,但没有作为 VS 中的构建事件进行测试。因此,您可能需要稍微调整语法。
关于javascript - Jsmin 位于带有子文件夹的文件夹上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4490733/