Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript和CSS缩微器在Servicestack中不工作_Javascript_Css_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Servicestack Razor - Fatal编程技术网 servicestack,servicestack-razor,Javascript,Css,servicestack,Servicestack Razor" /> servicestack,servicestack-razor,Javascript,Css,servicestack,Servicestack Razor" />

JavaScript和CSS缩微器在Servicestack中不工作

JavaScript和CSS缩微器在Servicestack中不工作,javascript,css,servicestack,servicestack-razor,Javascript,Css,servicestack,Servicestack Razor,在最新版本的Servicestack中,引入了。所以,在项目中尝试了它们。我可以缩小razor页面,但不能缩小添加到页面中的javascript或css文件 我已经复制粘贴了代码 public override List<IVirtualPathProvider> GetVirtualPathProviders() { var existingProviders = base.GetVirtualPathProviders(); var memFs = new InM

在最新版本的Servicestack中,引入了。所以,在项目中尝试了它们。我可以缩小razor页面,但不能缩小添加到页面中的javascript或css文件

我已经复制粘贴了代码

public override List<IVirtualPathProvider> GetVirtualPathProviders()
{
    var existingProviders = base.GetVirtualPathProviders();
    var memFs = new InMemoryVirtualPathProvider(this);

    //Get existing Local FileSystem Provider
    var fs = existingProviders.First(x => x is FileSystemVirtualPathProvider);

    //Process all .html files:
    foreach (var file in fs.GetAllMatchingFiles("*.html"))
    {
        var contents = Minifiers.HtmlAdvanced.Compress(file.ReadAllText());
        memFs.AddFile(file.VirtualPath, contents);
    }

    //Process all .css files:
    foreach (var file in fs.GetAllMatchingFiles("*.css")
      .Where(file => !file.VirtualPath.EndsWith(".min.css"))) //ignore pre-minified .css
    {
        var contents = Minifiers.Css.Compress(file.ReadAllText());
        memFs.AddFile(file.VirtualPath, contents);
    }

    //Process all .js files
    foreach (var file in fs.GetAllMatchingFiles("*.js")
      .Where(file => !file.VirtualPath.EndsWith(".min.js"))) //ignore pre-minified .js
    {
        try
        {
            var js = file.ReadAllText();
            var contents = Minifiers.JavaScript.Compress(js);
            memFs.AddFile(file.VirtualPath, contents);
        }
        catch (Exception ex)
        {
            //As JSMin is a strict subset of JavaScript, this can fail on valid JS.
            //We can report exceptions in StartUpErrors so they're visible in ?debug=requestinfo
            base.OnStartupException(new Exception("JSMin Error {0}: {1}".Fmt(file.VirtualPath, ex.Message)));
        }
    }

    //Give new Memory FS the highest priority
    existingProviders.Insert(0, memFs);
    return existingProviders;
}
public覆盖列表GetVirtualPathProviders()
{
var existingProviders=base.GetVirtualPathProviders();
var memFs=新的InMemoryVirtualPathProvider(此);
//获取现有的本地文件系统提供程序
var fs=existingProviders.First(x=>x是FileSystemVirtualPathProvider);
//处理所有.html文件:
foreach(fs.GetAllMatchingFiles(“*.html”)中的var文件)
{
var contents=Minifiers.HtmlAdvanced.Compress(file.ReadAllText());
AddFile(file.VirtualPath,contents);
}
//处理所有.css文件:
foreach(fs.GetAllMatchingFiles(“*.css”)中的var文件)
.Where(file=>!file.VirtualPath.EndsWith(“.min.css”))//忽略预先缩小的.css
{
var contents=Minifiers.Css.Compress(file.ReadAllText());
AddFile(file.VirtualPath,contents);
}
//处理所有.js文件
foreach(fs.GetAllMatchingFiles(“*.js”)中的var文件)
.Where(file=>!file.VirtualPath.EndsWith(“.min.js”))//忽略预先缩小的.js
{
尝试
{
var js=file.ReadAllText();
var contents=Minifiers.JavaScript.Compress(js);
AddFile(file.VirtualPath,contents);
}
捕获(例外情况除外)
{
//由于JSMin是JavaScript的严格子集,因此在有效的JS上可能会失败。
//我们可以在StartUpErrors中报告异常,以便它们在?debug=requestinfo中可见
OnStartupException(新异常(“JSMin错误{0}:{1}”.Fmt(file.VirtualPath,ex.Message));
}
}
//为新内存FS提供最高优先级
existingProviders.Insert(0,memFs);
返回现有的提供者;
}
在调试过程中我发现了这一点。它确实在缩小文件规模,但有些是如何做到的

我还尝试过调试和发布,甚至使用部署的版本。但是,我在这里添加的JavaScript和CSS作为参考仍然只是使用了beutified格式


我做错什么了吗?

请更具体地说明什么不起作用?i、 e.什么请求(例如,哪个文件)没有得到输出?(请提供HTTP请求/响应头)特定文件是否成功缩小?你能发布HTTP请求和对不起作用的响应吗?还有
?debug=requestinfo
?@mythz中报告的启动异常吗?我想这是我的错。在chrome控制台中,js和css文件的jQuery和Bootstrap都显示为“优化”,但当我在浏览器中查看源代码并打开js文件时,它只是缩小了。但奇怪的是,在控制台中,我编写的app.js和app.css的js文件都显示了缩小版,我真的不知道为什么。该过程中没有错误捕获。