Asp.net core mvc MVC6在空模板中引用Jquery
我已经创建了一个新的MVC6空项目。添加了bower.json和jquery依赖项 bower.jsonAsp.net core mvc MVC6在空模板中引用Jquery,asp.net-core-mvc,Asp.net Core Mvc,我已经创建了一个新的MVC6空项目。添加了bower.json和jquery依赖项 bower.json ... "dependencies": { "jquery": "~2.1.4" 它正确地把它带到了 wwwroot\lib\jquery 然后我在我的_layout.cshtml页面上引用了它 <script src="~/lib/jquery/dist/jquery.js"></script> 然而,Intellisense的路径有下划线。在
...
"dependencies": {
"jquery": "~2.1.4"
它正确地把它带到了
wwwroot\lib\jquery
然后我在我的_layout.cshtml页面上引用了它
<script src="~/lib/jquery/dist/jquery.js"></script>
然而,Intellisense的路径有下划线。在浏览器>查看源代码并单击路径中打开时,它会显示一个空页面,就好像找不到脚本一样
另外,当我导航到:http://localhost:57405/lib/jquery/dist/jquery.js
,它找不到它
我做错了什么?我需要app.UseStaticFiles()吗;在Startup.cs中?
谢谢
编辑:
当我将鼠标悬停在
标记上时,我会看到“未找到路径”工具提示只要jQuery.js文件在该位置,代码就可以正常工作
您还需要确保在Configure()
方法(在Startup.cs内)中调用了usesticfiles()
方法
UseStaticFiles()
扩展方法启用静态文件服务,包括js文件、css文件等
您可以考虑使用<代码>环境< /代码>标签助手,将脚本包含到不同配置/环境的页面。
您不必使用环境标记辅助对象。您可以直接将脚本标记放入布局文件中。但是环境助手允许我们根据环境有条件地呈现脚本。(缩小捆绑版与所有未缩小版)
如果希望以这种方式包含自定义脚本,请查看尽管这很有用,但它并不能解决引用静态内容文件的问题。由于某些原因,无法从视图访问wwwroot\lib\中的任何文件引用。我是否需要Startup.cs中的任何内容来告诉它从wwwroot\lib提供文件?是的。您需要调用
UseStaticFiles()
方法。看看我最新的答案。好的,就是这样。我需要有app.UseStaticFiles();在app.UseMvc()之前的my Startup.cs中
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
//Other configuration goes here
app.UseStaticFiles(); // This enables static file serving from the app.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
</environment>