我有一个奇怪的问题,mvc4捆绑包不包括扩展名为.min.js的文件
在我的BundleConfig类中,我声明了
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/Scripts/jquery")
.Include("~/Scripts/jquery-1.8.0.js")
.Include("~/Scripts/jquery.tmpl.min.js"));
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我宣布
<html>
<head>
@Scripts.Render("~/Scripts/jquery")
</head><body>test</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当它呈现时,它只会呈现
<html>
<head>
<script src="/Scripts/jquery-1.8.0.js"></script>
</head>
<body>test</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我将jquery.tmpl.min.js重命名为jquery.tmpl.js(并相应地更新bundle中的路径),则会正确呈现这两个脚本.
是否有一些配置设置导致它忽略'.min.js'文件?
捆绑时/缩小时启用,我的一些捆绑的似乎都在浏览器(用/结束)无效的URL和IIS提供了一个403 Forbidden错误,好像试图列出文件夹中的内容.
我的捆绑设置方式没有区别 - 它们不是.min.css,访问权限是正确的等等.
.net asp.net-mvc razor asp.net-mvc-4 bundling-and-minification
...或者我是如何学会停止担心的,只是针对来自Microsoft的完全未记录的API编写代码.是否有官方System.Web.Optimization发布的实际文档?'cuz我肯定找不到任何,没有XML文档,所有的博客文章都引用了与实际上不同的RC API.安美居..
我正在编写一些代码来自动解析javascript依赖项,并从这些依赖项中动态创建bundle.一切都很好,除非您编辑脚本或以其他方式进行更改,这些更改会影响捆绑而不重新启动应用程序,否则不会反映更改.所以我添加了一个禁用缓存依赖项的选项,以便在开发中使用.
但是,即使捆绑集合已更改,显然也会BundleTables缓存URL .例如,在我自己的代码中,当我想重新创建一个包时,我做了类似这样的事情:
// remove an existing bundle
BundleTable.Bundles.Remove(BundleTable.Bundles.GetBundleFor(bundleAlias));
// recreate it.
var bundle = new ScriptBundle(bundleAlias);
// dependencies is a collection of objects representing scripts,
// this creates a new bundle from that list.
foreach (var item in dependencies)
{
bundle.Include(item.Path);
}
// add the new bundle to the collection
BundleTable.Bundles.Add(bundle);
// bundleAlias is the same alias used previously to create the bundle,
// like "~/mybundle1"
var bundleUrl …Run Code Online (Sandbox Code Playgroud) c# asp.net asp.net-mvc-4 bundling-and-minification asp.net-optimization
我正在尝试使用ASP.NET MVC 4应用程序进行ASP.NET Bundling.情况是我想制作一个CDN样式的服务,它有JS和CSS文件,您可以从其他类型地址的网站处理:http://www.mycdn.com/scripts/plugin/js,捆绑并缩小所有包含的.js文件.
我对一个文件的bundle配置如下所示:
bundles.Add(new ScriptBundle("~/Scripts/plugin/pluginjs").Include("~/Scripts/plugin/jquery.plugin.js"));
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,即使我更改原始js文件后,捆绑包也不会更新.当我刷新浏览器时,我继续获得304 Not Modified,并且不会更新缩小文件的内容.如何更新捆绑包,因为捆绑旧内容是没用的?我尝试了各种方法,但无法找到解决方案.
提前致谢!
asp.net bundle bundling-and-minification asp.net-optimization
我们在我们的站点中使用MVC Bundling,CssRewriteUrlTransform确保图像URL在动态bundle css文件中工作.
但这只适用于不使用虚拟目录的情况,即
http://localhost/VirttualDir不行,但http://localhost/确实如此.这是因为CssRewriteUrlTransform在重写URL时,转换不会考虑虚拟文件夹.因此,如果图像真实路径是localhost/vdir/content/img/foo.png它将重写它localhost/content/img/foo.png是错误的
我有gulp任务脚本如下,
// loads various gulp modules
var gulp = require('gulp');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
// create task
gulp.task('css', function(){
gulp.src('src/css/**/*.css')
.pipe(minifyCSS())
.pipe(rename('style.min.css'))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
.pipe(gulp.dest('dist/css'))
});
Run Code Online (Sandbox Code Playgroud)
如何将src/css中的所有css文件缩小为dist/css/style.min.css中的单个文件?
使用CssRewriteUrlTransform时,MVC的捆绑在CSS图像中返回错误的URL:
我有一个内联网应用程序,其URL是,例如:http://usid01-srv002/MyApplication.它位于IIS的"默认网站"中.
其中包含以下内容BundleConfig.cs:
bundles.Add(new StyleBundle("~/bundles/jcss")
.Include("~/Scripts/JQueryUI/css/*.css", new CssRewriteUrlTransform())
);
Run Code Online (Sandbox Code Playgroud)
捆绑系统为这些CSS文件中引用的任何图像生成错误的URL,从而产生404甚至JQueryUI经过良好测试的CSS文件(来自FireBug):

例如,它正在产生
http://usid01/path/foo.png
Run Code Online (Sandbox Code Playgroud)
什么时候应该生成:
http://usid01/MyApplication/path/foo.png
Run Code Online (Sandbox Code Playgroud)
如何让捆绑系统生成指向正确位置的URL?
css asp.net-mvc relative-path bundling-and-minification asp.net-mvc-5
我只是尝试ASP.NET 4.5捆绑和缩小,并遇到了一个问题.
我有大约10个css文件,其中2个最初在布局中使用属性media ="screen"引用.
由于将css添加到bundle的语法不允许你指定应该添加这样的属性(有意义,因为该属性将适用于整个bundle),我希望看到@ Styles.Render的重载,允许我指定html属性,就像在其他Html助手中一样,但没有.
有一个丑陋的解决方案,因为我知道创建的bundle的url,我可以自己制作标签,但是我会失去ASP.NET处理的缓存机制,允许它自己渲染标签.
有没有办法做到这一点,我错过了什么?或者这仅仅是对设计团队的监督?
asp.net-mvc asp.net-mvc-4 bundling-and-minification asp.net-optimization
有没有办法设置默认值System.Web.Optimization.ScriptBundle来为捆绑和缩小的文件生成源映射?是否有一个等效的解决方案,除了必须在每次构建之前预先生成包和源映射?
HTML5具有脚本文件的异步属性,以启用异步加载.
<script type="text/javascript" src="myScript.js" async></script>
Run Code Online (Sandbox Code Playgroud)
我可以通过引用我的MVC4捆绑来利用这一点,就像这样引用捆绑包.
<script type="text/javascript" src='@Scripts.Url("~/bundles/jquery")' async></script>
Run Code Online (Sandbox Code Playgroud)
但这意味着我的脚本即使在调试模式下也是捆绑在一起的.
那么我怎样才能在调试时利用捆绑和异步属性而不会失去非缩小.
html5 asp.net-mvc-4 bundling-and-minification asp.net-optimization