发布 Web 应用程序时缩小 Asp.Net 中的 CSS 和 JS
我使用 Asp.net 4 C# 和 MicrosoftAjax Minifier。
请在这里查看我的代码;使用
我能够缩小所有文件 .js
和 .css
。问题是,这段代码甚至缩小了我的项目解决方案中的原始文件,因此几乎不可能再次编辑主题。
在将解决方案发布到本地文件夹后,我需要缩小解决方案中的所有 .js
和 .css
。
通过这种方式,我可以完整地保留项目文件夹中的原始文件,并将站点编译并缩小到另一个本地文件夹中。
我使用
更改脚本,我没有收到任何错误,但它不起作用。
你能告诉我我在这里缺少什么吗?是否有更好的方法来解决这个问题?谢谢
<!-- Minify all JavaScript files that were embedded as resources -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="Publish">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin
JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".css" />
</Target>
I use Asp.net 4 C# and MicrosoftAjax Minifier.
Please look at my code here; Using <Target Name="AfterBuild">
I'm able to minify all files .js
and .css
. The problem is that this code minify even the original files in my project solution, so would be almost impossible to edit theme once again.
I need instead minify all .js
and .css
on my solution after publishing it to a local folder.
In this way I can keep my original files in my project folder intact and have instead the site compiled and minified into another local folder.
I change my scripting using <Target Name="Publish">
, I do not receive any error but It does not work.
Could you tell me what I'm missing here, and if there is a better approach to solve this problem? Thanks
<!-- Minify all JavaScript files that were embedded as resources -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="Publish">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin
JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".css" />
</Target>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(从问题复制)
要处理丢失原始js/css文件的问题,请确保目标文件名包含.min,例如。
JsTargetExtension=".min.js"
和CssTargetExtension=".min.css"
。请参阅有关使用 MsAjax 压缩器的文章: http://www.asp.net/ajaxlibrary/ajaxminquickstart.ashx要能够发布缩小的文件,请参阅这篇文章:将 Microsoft AJAX Minifier 与 Visual Studio 2010 一键发布结合使用
在我的工作场所,我们通过使用 Visual Studio 的 Chirpy 插件以完全不同的方式解决缩小问题。保存时它会自动将文件缩小为 .min 版本。请参阅http://chirpy.codeplex.com/
(copied from questions)
To deal with losing the original js/css files, ensure the target filenames include .min, eg.
JsTargetExtension=".min.js"
andCssTargetExtension=".min.css"
. See article on using MsAjax minifier: http://www.asp.net/ajaxlibrary/ajaxminquickstart.ashxTo then be able to publish the minified files, see this article: Using Microsoft AJAX Minifier with Visual Studio 2010 1-click publish
At my workplace, we are solving the minifying issue quite differently by using Chirpy addin for Visual Studio. It automatically minifies files to a .min version upon saving. See http://chirpy.codeplex.com/