我正在使用ASP.NET MVC 4捆绑和缩小Microsoft.AspNet.Web.Optimization命名空间中的功能(例如@Styles.Render("~/content/static/css")).
我想将它与Windows Azure CDN结合使用.
我考虑编写自定义,BundleTransform但内容尚未优化.
我还研究了在运行时解析和上传优化的流,但这对我来说就像是一个黑客,我真的不喜欢它:
@StylesCdn.Render(Url.AbsoluteContent(
Styles.Url("~/content/static/css").ToString()
));
public static IHtmlString Render(string absolutePath)
{
// get the version hash
string versionHash = HttpUtility.ParseQueryString(
new Uri(absolutePath).Query
).Get("v");
// only parse and upload to CDN if version hash is different
if (versionHash != _versionHash)
{
_versionHash = versionHash;
WebClient client = new WebClient();
Stream stream = client.OpenRead(absolutePath);
UploadStreamToAzureCdn(stream);
}
var styleSheetLink = String.Format(
"<link href=\"{0}://{1}/{2}/{3}?v={4}\" rel=\"stylesheet\" type=\"text/css\" />",
cdnEndpointProtocol, cdnEndpointUrl, cdnContainer, cdnCssFileName, versionHash …Run Code Online (Sandbox Code Playgroud) cdn azure asp.net-mvc-4 bundling-and-minification asp.net-optimization
我有这样的css语句:
margin-left: calc(50% - 480px);
Run Code Online (Sandbox Code Playgroud)
哪个工作没有明确,但是一旦我开始缩小,声明就会变为:
margin-left: calc(50%- 480px);
Run Code Online (Sandbox Code Playgroud)
渲染所有calc语句已损坏.类似的事情发生在宽度,最大宽度,最小宽度等等.有没有什么办法可以改变捆绑行为以保留这些CSS属性?
目前我只是bundles.Add(new Bundle())用来完全防止缩小,但如果我能正确缩小它会很好.
asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 bundling-and-minification
我正在使用Asp.net MVC 4捆绑包来捆绑和缩小我的Css文件.
YSlow在下面显示此错误
/* Minification failed. Returning unminified contents.
(1442,26): run-time error CSS1019: Unexpected token, found ':'
(1442,26): run-time error CSS1042: Expected function, found ':'
(1442,26): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'
*/
Run Code Online (Sandbox Code Playgroud)
这是我的捆绑代码,
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/site.css",
"~/Content/fullcalendar.css",
"~/Content/jquery.dropdown.css",
"~/Content/jquery.tagit.css",
"~/Content/tipsy.css"
));
Run Code Online (Sandbox Code Playgroud)
现在我将如何找出导致问题的css文件?我如何调试以找到导致问题的行?site.css是我写的唯一的css文件.
我有这个web.config文件,其编译选项设置如下
Web.config文件
<configuration>
...
<system.web>
<compilation debug="true" targetFramework="4.5" />
...
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是默认情况下Visual Studio为发布模式提供的内容.
Web.Release.config
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我正在将它用于MVC4项目.基于本教程,我希望当应用程序在发布模式下运行时,将提供js和css的缩小版本.但这似乎并不起作用,并且正在提供js和css的非缩小版本.另一方面,如果我在web.config中明确地将debug设置为false,则正确提供最小版本.
当应用程序在发布模式下运行时,似乎编译标签转换问题,但我不明白Web.Release.config中的相同内容有什么问题.
简而言之,我无法通过在发布模式下运行应用程序来进行捆绑和缩小工作.
asp.net asp.net-mvc asp.net-mvc-4 bundling-and-minification web.config-transform
我有这样的捆绑
bundles.Add(new StyleBundle("~/Content/themes/default/css")
.IncludeDirectory("~/Content/themes/Default", "*.css"));
Run Code Online (Sandbox Code Playgroud)
但我想从中排除一个css文件.是否可以在不指定bundle中的每个css文件的情况下进行此操作?
在我的MVC5.1项目中,我正在使用CSS重写转换进行捆绑和缩小:
styleBundle.Include("~/Content/Site.css", new CssRewriteUrlTransform());
bundles.Add(styleBundle);
Run Code Online (Sandbox Code Playgroud)
CssRewriteUrlTransform转换相对于站点根目录的图像路径.但是,当我将图像嵌入到css中时:
span.file {
background-image: url(data:image/png;base64,iVBORw0KGg+...2AAAAElFTkSuQmCC);
}
Run Code Online (Sandbox Code Playgroud)
这被翻译成了
span.file {
background-image: url(http://localhost:52253/Content/data:image/png;base64,iVBORg...mCC);
}
Run Code Online (Sandbox Code Playgroud)
而且显然~/Content/data:image/png;base64...不存在.
有什么方法可以阻止这种情况发生,除了更新CSS文件不包括嵌入的图像?或者分成不同的CSS文件,其中使用实际的URL并对这些文件进行URL转换.而另一个只有嵌入图像的CSS.
Chrome工作区:假设我将本地CSS文件映射到本地http服务器提供的文件.一切都很好,我可以在浏览器中修改文件,在页面刷新后我的更改仍然存在.
我们碰巧指纹我们的资产,以便通过网址引用它们styles.css?longuniquehash.很棒的做法 - 这样我们可以使用积极的缓存,并确保客户端将使用最新的资产.
但是,这会对工作空间产生一些反作用,因为每当更新URL时映射都会丢失.简而言之:我们映射styles.css?123到本地资源,我们更改它,并在页面刷新时返回,styles.css?234因为必须再次映射.
我们正在使用卡带,但问题可以通过指纹识别在任何设置上重现.我缺少一个设置或解决方法吗?
css google-chrome developer-tools cassette bundling-and-minification
在我的项目中,我有一些构建脚本.其中一个构建脚本应该只捆绑和缩小CSS.当我在其他脚本中使用Webpack时,我发现使用Webpack是一个好主意,即使我只想捆绑和缩小CSS.
它工作正常,除了我无法摆脱output.js文件.我不想要生成的webpack输出文件.我只想要这个特定脚本的CSS.
有没有办法摆脱最终的JS?如果没有,你是否建议任何其他专门用于处理CSS的工具?谢谢.
您好任何人都可以举例说明如何使用Scriptbundle方法IncludeDirectory for Javascripts,无法获得如何编写搜索模式字符串,它是正则表达式吗?
bundles.Add(new ScriptBundle("~/bundles/customjs").IncludeDirectory(
"~/Scripts/Custom",?);
Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc bundle asp.net-mvc-4 bundling-and-minification
我正在使用visual studio构建一个移动Web应用程序,我想知道如何将所有CSS文件缩小为一个文件,以及将所有JavaScript缩小到一个缩小文件.