首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在带有子文件夹的文件夹上使用Jsmin

在带有子文件夹的文件夹上使用Jsmin
EN

Stack Overflow用户
提问于 2010-12-20 14:54:03
回答 2查看 1.2K关注 0票数 1

我正在运行jsmin来将我的ASP.Net web应用程序的所有javascript文件压缩为csproj文件中的postbuild事件,如下所示:

"JsMin.exe“”$(ProjectDir)脚本“"$(ProjectDir)script\minified.js”

当我将所有js文件保存在脚本文件夹的根目录中时,这是很好的。但是当它开始成为这个文件夹中的大量文件时,我决定把文件分成子文件夹。现在看来,jsmin只获取根文件夹中的js文件,我看不出它有任何将文件包含在子文件夹中的选项。对于这种情况,有没有人有一个好的解决方案?在我看来,这应该是一件很普通的事情,所以这就是为什么我对它不是jsmin.exe支持子文件夹的参数感到有点惊讶的原因。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-20 15:47:20

您应该能够使用DOS的for命令这样做:

代码语言:javascript
复制
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中没有作为构建事件进行测试。因此,您可能需要稍微修改一下语法。

票数 1
EN

Stack Overflow用户

发布于 2016-02-12 18:06:28

派对有点晚了,但下面是戴夫·沃德建议递归缩小javascript文件的代码。

下面是使用构建事件移植的代码:

代码语言:javascript
复制
for /r "$(ProjectDir)scripts" %%s in (*.js) do $(SolutionDir)tools\jsmin.exe < %%s > "$(ProjectDir)debug\%%~ns.min.js"  

type "$(ProjectDir)debug\*.min.js" | "$(SolutionDir)tools\jsmin.exe" > "$(ProjectDir)release\local.min.js"

del "$(ProjectDir)debug\*.min.js"

上面的代码递归所有脚本的脚本文件夹(根和子目录),并将它们放在调试文件夹中(只要您已经设置了对它的读/写权限,并且它与您正在递归的目录结构无关),这可以是您目录中的任何其他文件夹。然后,它对调试目录中的所有*.min.js进行细化,然后清除它们。我搜索了一下网络,试图找到这个解决方案,但是找不到,所以我希望这能帮助需要帮助的人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4490733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档