Asp.net core mvc MVC6在空模板中引用Jquery

Asp.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的路径有下划线。在

我已经创建了一个新的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的路径有下划线。在浏览器>查看源代码并单击路径中打开时,它会显示一个空页面,就好像找不到脚本一样

另外,当我导航到:
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>