「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]]が落ちる。凄い嵌った。 | |||
==関連項目== | ==関連項目== | ||