标签: bundling-and-minification

MVC4局部视图javascript捆绑问题

我正在使用visual studio 11开发一个项目ASP.net 4,MVC4(RC).我正在尝试渲染一个呈现局部视图的MVC4 Razor视图.我的部分视图需要一些JavaScript.在我的部分视图中,当我在脚本部分中包含我的javascript,如下所示它似乎没有加载.

@section Scripts {
    <script type="text/javascript">
        $(function () {
            alert("test");
        });
    </script>
}
Run Code Online (Sandbox Code Playgroud)

如果我删除脚本部分它失败,因为当文档就绪代码运行时,jquery库(在我的_Layout.cshtml页面上捆绑并呈现)尚未加载.

<script type="text/javascript">
    $(function () {
        alert("test");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

_Layout Page代码加载jquery库

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)

有没有人知道这个解决方案,还是我只是错误的方式?它破坏了我的头!

javascript asp.net-mvc-4 bundling-and-minification asp.net-optimization

9
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC4捆绑单个文件

有没有办法使用MVC4中的新捆绑功能捆绑单个文件?我知道捆绑单个文件没有多大意义但是我想使用服务器端缩小,并让MVC在URL的末尾添加一个哈希值以用于缓存目的.

我试过了,@Scripts.Url("~/Scripts/myscript.js")但似乎不起作用.

asp.net asp.net-mvc-4 bundling-and-minification

9
推荐指数
2
解决办法
3897
查看次数

无点 - 无法使用MVC Bundling在单独的文件中引用较少的变量

我希望我不会创建一个重复的主题,但我已经搜索了两天,但无法找到解决方案.

我们正在MVC4中开始一个新项目,我们加载了较少版本的bootstrap.我遇到的问题是当我尝试引用当前文件之外的bootstrap.lessglobal.less或其他任何类中的某些类或变量时.我可以在当前文件的顶部创建一个变量并使用它很好,但如果我想使用单独的文件,我必须这样@import做.如果我的整个应用程序在一个文件中较少,那就没问题了,但是我必须将@import 4+文件放入我创建的每个页面/部分文件中.

我从https://gist.github.com/2002958添加了MVC4捆绑添加

正如我所看到的,问题是每个文件都被评估并独立转换为css.我试图简化过程并从less bundle中的所有文件构建一个大量的字符串然后转换它们(Less.Parse(lessString)),但我收到错误:

"您正在导入以.less结尾的无法找到的文件"

所以这是我的最终问题:如果没有引用物理文件,有没有办法简单地解析一个较少的字符串?这将解决我的问题.

如果出于某种奇怪的原因这是不可能的,是否有一个我不知道的组件或过程实际上将文件捆绑在一起然后缩小它们?

关于这个主题的任何亮点都会受到赞赏,因为我正在试图让它发挥作用.

此问题也发布在Dotless小组:https://groups.google.com/forum/ fromgroups#!topic / fifty/j-8-CN1dNjUY

c# less dotless bundling-and-minification

9
推荐指数
1
解决办法
3474
查看次数

部署后没有显示捆绑的CSS ... ASP.NET MVC4

在部署我的MVC应用程序时,.NET 4.5框架正在捆绑和缩小我的CSS.但是,结果文件为空,因此不应用CSS规则.在Chrome中,我收到了Resource interpreted as Stylesheet but transferred with MIME type text/plain警告.在IE9中,我收到CSS was ignored due to mime type mismatch警告.

这就是我的BundleConfig中的内容

bundles.Add(
    new StyleBundle("~/Content/bootstrap").Include(
        "~/Content/bootstrap/bootstrap-responsive.css",
        "~/Content/bootstrap/bootstrap-editable.css",
        "~/Content/bootstrap/FileUpload.css"));
Run Code Online (Sandbox Code Playgroud)

这是我的布局头:

<head>
    <meta charset="utf-8" />
    <meta http-equiv="x-ua-compatible" content="IE=Edge" />
    <title>@ViewBag.Title</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width" />
    <link href="@ViewBag.StyleUrl" rel="stylesheet" type="text/css" />
    @Styles.Render("~/Content/bootstrap")
    <script src="~/scripts/libs/modernizr/modernizr-2.5.3.js" type="text/javascript"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

额外的样式表用于基于管理工具中的配置的动态加载样式表.

当我在本地运行,或者如果我设置debug ="true",那么我得到我的个人文件和一切看起来应该.如果我将这些硬编码到我的布局页面,它们显示正常.我已经检查过IIS并查看了CSS的正确MIME类型(考虑到硬编码值的工作原理,这是有意义的).我还检查了以确保安装了"静态内容"角色服务,因为我在Google搜索中也遇到过这种情况.

有什么想法吗?

asp.net-mvc bundling-and-minification

9
推荐指数
1
解决办法
1万
查看次数

UglifyJS'使用严格'声明

我正在使用Grunt连接grunt-contrib-uglify任务来缩小我的应用程序中的JavaScript.

在缩小时,它会删除'use strict'除第一个之外的所有语句,因此我将获得一个巨大的JavaScript文件,顶部带有"use strict"指令.

问题是全局'use strict'指令使浏览器在"严格模式"下执行我在项目中使用的每个lib的代码,并且它导致错误,因为不是每个第三方代码都是为严格模式编写的.

关于如何解决这个问题的任何想法?

javascript uglifyjs bundling-and-minification gruntjs

9
推荐指数
1
解决办法
3061
查看次数

找到可缓存的SSL页面,捆绑和缩小

我们有一个MVC应用程序,使用IBM应用程序扫描由第三方公司扫描安全问题.问题是,例如,由于Bundling和Minification,我们遇到了多个问题

在此输入图像描述

整点是捆绑和缩小将缓存样式表和javascript文件.不幸的是,我们不会在不解决这些问题的情况下签字.关于如何通过这个的任何想法?

c# security ssl asp.net-mvc-4 bundling-and-minification

9
推荐指数
1
解决办法
4712
查看次数

ASP.Net MVC Script Bundle导致404

我搜索了SO - 发现了许多相同的问题,但没有一个答案有帮助.

我已经建立了一堆网站,而不是之前遇到过这个问题.

基本上,我的脚本包为我的javascript文件夹中的每个文件生成404.

我的结构(此刻,我已经改变了一堆!)看起来像这样:

在此输入图像描述

我这样做,所以我可以保证ASP.Net不会改变顺序 - 我可以确保某些脚本领先于其他脚本.这就是我一直这样做的方式,通常效果很好.

我的捆绑脚本 - 目前 - 是:

        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.FileSetOrderList.Clear();
            // stlyes
            StyleBundle cssBundle = new StyleBundle("~/bundles/css");
            cssBundle.IncludeDirectory("~/content/css", "*.css", true);
            bundles.Add(cssBundle);


            //scripts
            ScriptBundle jsBundle = new ScriptBundle("~/bundles/jscript");
            jsBundle.IncludeDirectory("~/content/javascript", "*.js", true);
            bundles.Add(jsBundle);

        }
Run Code Online (Sandbox Code Playgroud)

我尝试过一大堆虚拟路径.

我的CSS加载完美.我的Js - 我得到404的清单; 每个*/js文件一个.

有任何想法吗?

我的控制台看起来像这样 - 这也告诉我bundles.FileSetOrderList.Clear();实际上并没有清除它的列表,否则我会在角度之前有jquery(这是我的意图)

在此输入图像描述

UPDATE

如果我BundleTable.EnableOptimizations = true;在我的捆绑包中然后它全部捆绑,缩小和工作 - 虽然这很糟糕的开发调试 - 究竟是什么阻止它在调试模式下工作?!

asp.net asp.net-mvc bundling-and-minification

9
推荐指数
1
解决办法
4780
查看次数

将cache-buster添加到非优化捆绑包中?

我在MVC中使用Bundling并具有以下内容:

@Scripts.Render("~/bundles/scripts.js");
Run Code Online (Sandbox Code Playgroud)

BundleTable.EnableOptimizations = true这呈现为:

<script src="/bundles/scripts.js?v=RF3ov56782q9Tc_sMO4vwTzfffl16c6bRblXuygjwWE1"></script>
Run Code Online (Sandbox Code Playgroud)

BundleTable.EnableOptimizations = false这呈现为:

<script src="/js/header.js"></script>
<script src="/js/content.js"></script>
<script src="/js/footer.js"></script>
Run Code Online (Sandbox Code Playgroud)

是否有可能拦截非优化版本以包含我自己的自定义缓存破坏程序?

例如:

<script src="/js/header.js?v=12345"></script>
<script src="/js/content.js?v=12345"></script>
<script src="/js/footer.js?v=12345"></script>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc caching bundling-and-minification

9
推荐指数
1
解决办法
2731
查看次数

MVC4如何使用捆绑虚拟路径?

在Microsoft MVC4中,我看到了一些bundling需要缩小和缓存静态资源的东西,比如CSSJavaScript.在ScriptBundle方法中,我看到调用的第一个参数,virtual path它应该只是相对的.

bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-1.*"));
Run Code Online (Sandbox Code Playgroud)

例如,~/bundles/jquery在上面的代码中.

我有一个问题,怎么bundling用这个virtual path?这用于文件缓存吗?

c# asp.net-mvc-4 bundling-and-minification

8
推荐指数
2
解决办法
5275
查看次数

MVC包和IIS虚拟目录(URL重写)

我在IIS服务器虚拟目录上托管多个应用程序,我正在使用URL Rewrite来方便它们.像这样手动编写的所有图像和其他资源"~/path/to/my/content"都有正确的输出"/path/to/my/content",但是束路径之类"~/client/js"的输出"/myapplication/client/js"应该是"/client/js".

我该如何解决这个问题?

我如何启动脚本包:

var scriptBundle = new ScriptBundle("~/client/js");
Run Code Online (Sandbox Code Playgroud)

重写配置:

<rule name="Official Website" stopProcessing="true">
               <match url="(.*)" />
               <conditions>
                  <add input="{HTTP_HOST}" matchType="Pattern" pattern="^(www\.)?domain\.com$" ignoreCase="true" negate="false" />
               </conditions>
               <action type="Rewrite" url="officialsite/{R:1}" />
            </rule>
Run Code Online (Sandbox Code Playgroud)

正在调查这些主题,但无法让任何事情对我有用:

更新:我使用Winhost作为托管服务提供商,他们不支持为IP设置主机头,可能是由于共享IP.它们提供了根文件夹的域指针,这就是我使用URL重写的原因.

asp.net-mvc iis-7 url-rewriting virtual-directory bundling-and-minification

8
推荐指数
1
解决办法
2000
查看次数