2012-07-26 20 views
2

我有一个模块化asp.net应用程序,其中模块部署在主要.net Web应用程序下的虚拟目录中。我们有一个有很多东西的通用模块。我尝试将每个客户端特定项目中的所有常用脚本文件移动到通用模块中。ScriptBundle不渲染虚拟目录中的脚本

如果我创建一个引用根级别文件的脚本包,它会将脚本标记呈现到html中。但它不会为指向子虚拟目录中的文件的包提供脚本标记。

例如:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/App_Modules/Common/Scripts/jquery-1.*")); 

不再呈现任何脚本标签,现在我得到的jQuery的错误客户端。我查看了生成的html,现在没有更多的脚本标记来下载jQuery库。

回答

1

不幸的是,bundling还不支持VirtualPathProviders,因此如果您的虚拟路径依赖于VPP来提供资源,捆绑将无法找到它们。这是我们目前正在调查的情况,希望很快能够支持。

+0

我没有虚拟路径提供程序。我只有我的Web项目使用IIS服务器,我有一个虚拟目录配置,指向我所有的通用文件。 – happyfirst 2012-07-27 19:51:15

+0

@ hao-kung是V1.1.0支持的功能吗?这是否成为这个问题的一部分? http://aspnetoptimization.codeplex.com/workitem/68 – Tim 2015-04-23 08:38:09

+0

是的,这个支持最终被添加了 – 2015-04-25 03:51:34

3

我有同样的问题。根本原因是我只在包中包含缩小的脚本。一旦我在脚本目录中放入未压缩的脚本,它就可以正确渲染它们。

+0

用'min'命名min文件的拷贝为我解决了这个问题。 – TheVillageIdiot 2013-04-04 04:38:33