在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
和
d3.min.js
存在于
~/js
目录中。
另外,您需要确保在
Startup.cs文件的
Configure()
方法内调用了
UseStaticFiles()
方法。
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
UseStaticFiles()
扩展方法可用于提供静态文件服务,包括js文件、css文件等。
当您以开发模式运行应用程序时,它会在"Development"
环境下呈现脚本标记,并且当您在Staging或Production中运行时,它会在"Staging, Production"
环境下呈现脚本标记。
您可以通过右键单击项目并选择属性 -> 调试
来更改环境值,并指定环境变量Hosting:Environment
的值。
您可以看到我在Staging/Production环境中包含了js文件的minified版本。这不是必需的,但是这种做法可以节省一些带宽。(如果您真的想这样做,您也可以将未minified版本放在那里)。如果您有一个单独的打包文件,您也可以在此处使用它而不是单个文件。
如果您还没有minified版本,可以通过运行gulp任务进行minification生成。(这包含在新的Web应用程序模板中的默认gulp.js
文件中)。您只需要打开任务运行器并运行minification任务即可。
![enter image description here](https://istack.dev59.com/udSdA.webp)
如果您不希望每次手动运行此操作,可以选择绑定 -> 构建前
,这样每次构建项目时都会自动运行该特定的gulp任务。
BundlerMinifier.Core
工具,如https://learn.microsoft.com/en-us/aspnet/core/migration/mvc中所述。 - Tim Long