17

我是 mvc 4 的新手,我想知道我应该把我的自定义 javascript 文件放在哪里。“自定义”是指仅在特定视图或部分视图中使用的脚本。

我也使用区域,因此增加了复杂性。我正在考虑将我的脚本放在应用程序根目录的 Script 文件夹中,然后放在自定义子文件夹中。

然后我将如何在我的 Views 中引用脚本?我应该使用自定义捆绑包吗?

4

2 回答 2

24

我认为将脚本添加到文件夹中的自定义文件scripts夹是可行的方法。您可以在文件中创建一个新包,appstart\BundleConfig.cs如下所示:

bundles.Add(new ScriptBundle("~/bundles/custom").Include(
                   "~/Scripts/Custom/myCustom.js",
                   "~/Scripts/Custom/myCustom2.js"));

而不是bundle像这样添加到您的视图中:

@section scripts{

 @Scripts.Render("~/bundles/custom")

}

这将呈现在@RenderSection("scripts", required: false)layout文件的行上。

或者
要只为您调用一个特定script的,您view可以执行以下操作:

@section scripts{
<script src="~/Scripts/Custom/myCustom.js"></script>
}

注意:您可以将脚本文件从该部分拖到solution explorer该部分中。您不必编写整个路径。
编辑 - 似乎很重要,所以我从我的上一条评论中复制了这个:
为了使用minification,您需要将脚本添加到捆绑表中,然后添加BundleTable.EnableOptimizations = true;BundleConfig文件中或<compilation debug="false"web.config文件中设置。

于 2013-01-31T09:19:50.380 回答
2

您可以在文件夹中组织您的脚本Scripts

  • ~/Scripts/Home/foobar.js
  • ~/Scripts/Admin/baz.js
  • ...

我应该使用自定义捆绑包吗?

当然,您可以捆绑始终在一起的脚本。

于 2013-01-31T09:14:22.157 回答