有没有人能给我解释一下:
<script src="/Scripts/custom.js"></script>
and (添加了波浪符号)
<script src="~/Scripts/custom.js"></script>
和
@Scripts.Render("~/Scripts/custom.js")
在ASP.NET MVC应用程序中(主要是在Razor View代码中)?
我是通常@Scripts.Render用于捆绑和缩小脚本的aware。正如您在我的第三个示例中看到的,我并不是故意使用@Scripts.Render("~/bundles/*"),因为我没有让这个问题看起来像是关于捆绑的问题。我想知道渲染(页面特定的)脚本的最好方法是什么。还有没有其他重要的原因让你先用一个再用一个呢?
发布于 2019-01-25 21:33:46
<script src="/Scripts/custom.js"></script>这是相对于您的站点的根目录。它期望站点根目录下的脚本目录中有一个custom.js文件,例如:example.com/Scripts/custom.js
<script src="~/Scripts/custom.js"></script>这是相对的虚拟根目录。如果您的站点作为virtual application in IIS (子应用程序)托管,那么它将确保在虚拟应用程序的根目录中查找custom.js文件,而不是父站点的根目录。因此,即使您的站点托管在example.com/yoursite上,~/Scripts/custom.js也会查找example.com/yoursite/Scripts/custom.js而不是example.com/Scripts/custom.js。
@Scripts.Render("~/Scripts/custom.js")这将在与<script src="~/Scripts/custom.js"></script>相同的位置查找文件,但只是使用Razor HTML Helper作为生成HTML标记的简写。
https://stackoverflow.com/questions/54366187
复制相似问题