我最近建立了&在Azure上部署了我的第一个C#MVC网站,但我发现scripts folder无法访问。 CSS path没问题。如何在azure中设置脚本文件夹的权限?
在本地主机版本的网站中,脚本用作:
<script src="/scripts/jquery-3.1.1.js"></script>
<script src="/scripts/jquery.validate.js"></script>
<script src="/scripts/jquery.validate.unobtrusive.js"></script>
<script src="/scripts/jquery.timeago.js"></script>
<script src="/scripts/bootstrap.js"></script>
<script src="/scripts/frontend.js"></script>
在azure版本中,它全部变为:
<script src="/scripts?v=8-nQ5fLPOWbFbJ3aNGN9S-Cax5jWLtBVGkIQKVKaKMc1"></script>
要澄清原始问题,我可以访问各个javascript文件,如果我address directly给他们。它只是我无法访问的azure-ified脚本标记。
答案 0 :(得分:1)
您可以使用FTP或Kudu找到脚本文件夹和脚本文件吗?
如果找不到它们,则表示脚本尚未发布到Azure Web App。在发布Web应用程序之前,请确保已将Build Action属性设置为这些脚本文件的“Content”。
如果Azure Web App中存在这些文件,并且您无法使用URL访问它,请确保用于解决脚本文件的URL正确。例如,如果脚本文件夹位于wwwroot文件夹下。要访问scripts文件夹下的文件,URL应为
http://yourwebsite.azurewebsites.net/scripts/scriptfile.js
&lt; script src =“/ scripts?v = 8-nQ5fLPOWbFbJ3aNGN9S-Cax5jWLtBVGkIQKVKaKMc1”&gt;
您正在项目中使用脚本包。请检查您的项目,App_Start文件夹下有一个BundleConfig文件。
如果将项目发布到Web服务器或在web.config中将debug属性更改为false,则脚本的URL将更改为高级格式。
<compilation debug="false" targetFramework="4.6.2" />
要解决您的问题,请确保您的Web项目上安装了Microsoft.Web.Optimization DLL,并在&lt; system.webServer&gt;下添加以下配置。 &LT;模块&gt; web.config中的标记。
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />
如果要禁用脚本包,可以在Global.asax文件的Application_Start方法中将EnableOptimizations属性设置为false。
protected void Application_Start()
{
BundleTable.EnableOptimizations = false;
}
答案 1 :(得分:0)