在 ASP.NET 5 中,没有这样的 Scripts.Render 方法。要渲染脚本,您可以使用环境标签助手。
您不必使用环境标签助手。您可以直接将您的脚本标签放在布局文件中。但是环境助手允许我们根据环境有条件地渲染脚本。 (缩小捆绑版本与所有未缩小版本)
这是语法,您可以将其包含在布局文件中。
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/js/d3.js"></script>
</environment>
<environment names="Staging,Production">
<script src="//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>
<script src="~/js/d3.min.js" asp-file-version="true"></script>
</environment>
假设您有脚本文件d3.js and d3.min.js 存在于~/js 目录中。
您还需要确保在Configure() 方法中调用了UseStaticFiles() 方法(在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?}");
});
}
UseStaticFiles() 扩展方法启用静态文件服务,包括 js 文件、css 文件等。
当您在开发模式下运行应用程序时,它将在环境"Development" 内渲染脚本标签,当您在暂存或生产环境下运行它时,它将在"Staging,Production" 环境下渲染脚本标签。
您可以通过右键单击项目并选择properties->Debug并指定环境变量的值Hosting:Environment来更改环境值
你可以看到我已经在 Staging/Production 环境中包含了 js 文件的缩小版本。这不是必需的,而是首选的方法,因为它会节省一些带宽。 (如果你真的想这样做,你可以把未缩小的版本也放在那里而不是缩小。)。如果您有单个捆绑文件,您也可以在此处使用它而不是单个文件。
如果您还没有缩小版本,您可以通过运行 gulp 任务来生成该缩小版本。(这包含在默认的 gulp.js 文件中,该文件位于新的 Web 应用程序模板中)。您只需要打开任务运行器并运行缩小任务即可。
如果您不希望每次都手动运行它,您可以选择Bindings -> Before build,这样它就会在您每次构建项目时自动运行该 purticular gulp 任务。