Ответ 1
В ASP.NET 5 нет такого метода Scripts.Render
. Для рендеринга скриптов вы можете использовать помощник тега среды.
Нет необходимости использовать помощник тега среды. Вы можете напрямую поместить свои теги script в файл макета. Но помощники среды позволяют нам условно отображать сценарии на основе среды. (Версия с мини-соединением и версия Un Unified)
Вот синтаксис, вы можете включить его в свой файл макета.
<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>
Предполагая, что файлы script d3.js
and d3.min.js
существуют в каталоге ~/js
.
Также вам нужно убедиться, что вы вызывали метод UseStaticFiles()
внутри метода Configure()
(внутри 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 файлы и т.д.
Когда вы запустите приложение в режиме разработки, оно отобразит теги script внутри среды "Development"
, и когда вы запустите его в разделе "Проведение или производство", он будет отображать теги script в среде "Staging,Production"
.
Вы можете изменить значение среды, щелкнув правой кнопкой мыши на проекте и выберите properties->Debug
и укажите значение переменной окружения Hosting:Environment
Вы можете видеть, что я включил мини-версию js файлов в среду Staging/Production. Это не обязательно, но предпочтительный подход, поскольку он сэкономит некоторую пропускную способность. (Вместо этого вы можете поместить неминифицированную версию, а не minified, если вы действительно этого хотите.). Если у вас есть один связанный файл, вы можете использовать его здесь и вместо отдельных файлов.
Если у вас уже нет мини-версии, вы можете сгенерировать ее, выполнив задачу gulp для минимизации. (Это включено в файл gulp.js
по умолчанию, который находится в новом шаблоне веб-приложения). Вам просто нужно открыть диспетчер задач и запустить задачу минимизации.
Если вы не хотите вручную запускать это каждый раз, вы можете выбрать Bindings -> Before build
, чтобы он автоматически запускал эту задачу purticular gulp каждый раз при создании проекта.