我正在使用asp.net mvc3。我的网站上有两个脚本文件,如:
<script type="text/jscript" src="/SiteName/lib/jquery/menus.js"></script>
<script type="text/jscript" src="/SiteName/lib/jquery/dialogs.js"></script>
这些是这两个.js文件的真实路径,其中SiteName目录位于我的网站的根目录中。 现在,当网站呈现时,我想成为这样的话:
<script type="text/jscript" src="/lib/jquery/menus.js"></script>
<script type="text/jscript" src="/lib/jquery/dialogs.js"></script>
因此,“SiteName”部分将从路径中删除!但它确实可用! 然而,浏览器必须能够加载这些脚本。 我认为这必须通过routes.MapRoute或类似这些来完成!
答案 0 :(得分:0)
您可以使用 BundleConfig 来实现此目的。您可以创建具有虚拟路径的样式和脚本包,并具有缩小的附加好处。如果您将多个脚本添加到一个包中,它将加入并缩小为一个虚拟脚本。 e.g:
bundles.Add(new ScriptBundle("~/lib/jquery").Include(
"~/SiteName/lib/jquery/menus.js",
"~/SiteName/lib/jquery/dialogs.js"));
在页面渲染中,它会显示为:
<script type="text/javascript" src="~/lib/jquery"></script>
从内存来看,默认情况下MVC3没有,但如果您参考这个答案,它看起来很容易实现:https://stackoverflow.com/a/12754108/769083