「Nancy」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「'''Nancy'''とは、.NET向けの軽量ウェブフレームワークである<ref>http://nancyfx.org</ref>。 ==概要== 調査中 ==関連項目== ==参考文献...」) |
|||
3行目: | 3行目: | ||
==概要== | ==概要== | ||
調査中 | 調査中 | ||
+ | |||
+ | ==未分類== | ||
+ | ===Minify & Bundleを使う=== | ||
+ | ASP.NET 4から搭載されたMinify & BundleをNancyから使ってみる。 | ||
+ | |||
+ | ====NuGetから必要なパッケージを入れる==== | ||
+ | [[ASP.NET]]関連のほとんどが、いつの間にか[[ASP.NET]]本体から分離されて[[NuGet]]へ移行している。[[Linux]]上の[[Mono]]でも[[ASP.NET]]を使えという思し召しらしい。[[Xamarin Studio]]からも一発で入る。 | ||
+ | *https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization/ | ||
+ | |||
+ | ====web.configを編集==== | ||
+ | <pre> | ||
+ | <configuration> | ||
+ | <configSections> | ||
+ | <!-- 追加 --> | ||
+ | <section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" /> | ||
+ | <!-- 追加 --> | ||
+ | </configSections> | ||
+ | |||
+ | <!-- 追加 --> | ||
+ | <razor disableAutoIncludeModelNamespace="false"> | ||
+ | <assemblies> | ||
+ | <add assembly="System.Web.Optimization" /> | ||
+ | <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||
+ | </assemblies> | ||
+ | <namespaces> | ||
+ | <add namespace="System.Web.Optimization" /> | ||
+ | </namespaces> | ||
+ | </razor> | ||
+ | <!-- 追加 --> | ||
+ | |||
+ | <system.webServer> | ||
+ | <!-- 追加 --> | ||
+ | <modules runAllManagedModulesForAllRequests="true"> | ||
+ | <remove name="BundleModule" /> | ||
+ | <add name="BundleModule" type="System.Web.Optimization.BundleModule" /> | ||
+ | </modules> | ||
+ | <!-- 追加 --> | ||
+ | </system.webServer> | ||
+ | </configuration> | ||
+ | </pre> | ||
+ | |||
+ | ====バンドルを登録する==== | ||
+ | どこでもいいので登録内容が記述されたメソッドを作る。 | ||
+ | 純正に右に倣えで「App_Start/BundleConfig.cs」にしておくと無難だと思われる。 | ||
+ | <source lang="csharp"> | ||
+ | using System; | ||
+ | using System.Web.Optimization; | ||
+ | |||
+ | namespace Test | ||
+ | { | ||
+ | public class BundleConfig | ||
+ | { | ||
+ | public static void RegisterBundles(BundleCollection bundles) | ||
+ | { | ||
+ | bundles.Add(new ScriptBundle("~/bundles/jquery").Include( | ||
+ | "~/Scripts/jquery-{version}.js")); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | サーバー起動時に登録する。 | ||
+ | Global.asax.cs(無ければ作る)のApplication_Startメソッドから上記の登録メソッドを呼び出す。 | ||
+ | <source lang="csharp"> | ||
+ | using System; | ||
+ | using System.Web.Optimization; | ||
+ | |||
+ | namespace Test | ||
+ | { | ||
+ | public class Global : System.Web.HttpApplication | ||
+ | { | ||
+ | protected void Application_Start(Object sender, EventArgs e) | ||
+ | { | ||
+ | BundleConfig.RegisterBundles(BundleTable.Bundles); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | ====Scripts.Renderの違い==== | ||
+ | ASP.NET 4で標準の記述方法が使えない。 | ||
+ | @Scripts.Render("~/bundles/jquery") | ||
+ | 以下を使うことで代用する。 | ||
+ | @Html.Raw(Scripts.Render("~/bundles/jquery").ToString()) | ||
+ | ToStringを忘れると[[Razor]]が落ちる。凄い嵌った。 | ||
==関連項目== | ==関連項目== |
2014年11月4日 (火) 08:39時点における版
Nancyとは、.NET向けの軽量ウェブフレームワークである[1]。
目次
概要
調査中
未分類
Minify & Bundleを使う
ASP.NET 4から搭載されたMinify & BundleをNancyから使ってみる。
NuGetから必要なパッケージを入れる
ASP.NET関連のほとんどが、いつの間にかASP.NET本体から分離されてNuGetへ移行している。Linux上のMonoでもASP.NETを使えという思し召しらしい。Xamarin Studioからも一発で入る。
web.configを編集
<configuration> <configSections> <!-- 追加 --> <section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" /> <!-- 追加 --> </configSections> <!-- 追加 --> <razor disableAutoIncludeModelNamespace="false"> <assemblies> <add assembly="System.Web.Optimization" /> <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies> <namespaces> <add namespace="System.Web.Optimization" /> </namespaces> </razor> <!-- 追加 --> <system.webServer> <!-- 追加 --> <modules runAllManagedModulesForAllRequests="true"> <remove name="BundleModule" /> <add name="BundleModule" type="System.Web.Optimization.BundleModule" /> </modules> <!-- 追加 --> </system.webServer> </configuration>
バンドルを登録する
どこでもいいので登録内容が記述されたメソッドを作る。 純正に右に倣えで「App_Start/BundleConfig.cs」にしておくと無難だと思われる。
using System;
using System.Web.Optimization;
namespace Test
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
}
}
}
サーバー起動時に登録する。 Global.asax.cs(無ければ作る)のApplication_Startメソッドから上記の登録メソッドを呼び出す。
using System;
using System.Web.Optimization;
namespace Test
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(Object sender, EventArgs e)
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
Scripts.Renderの違い
ASP.NET 4で標準の記述方法が使えない。
@Scripts.Render("~/bundles/jquery")
以下を使うことで代用する。
@Html.Raw(Scripts.Render("~/bundles/jquery").ToString())
ToStringを忘れるとRazorが落ちる。凄い嵌った。