【问题标题】:Include Scripts from Feature folder in ScriptBundle在 ScriptBundle 中包含 Feature 文件夹中的脚本
【发布时间】:2018-06-20 03:24:59
【问题描述】:

我正在尝试包含不属于 MVC Web 项目中原始 ~/Scripts 文件夹的 js 文件。相反,我将脚本文件放在我的 Feature 文件夹中,例如:~/Features/MyNewFeature/Scripts

但是,在运行应用程序时,当请求去查找那些 js 文件时,我只得到 404 错误。我不确定我错过了什么,或者是否需要添加一些东西来完成这项工作。我知道我已经读过 js 文件必须在 Scripts 文件夹中,但我很难相信这一点,因为有一种方法可以避免将 cshtml 文件放在 /Views 文件夹中。

 bundles.Add(new ScriptBundle("~/bundles/mynewfeature")
                  .Include("~/Features/MyNewFeature/Scripts/Settings.js"));

然后在cshtml中渲染:

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

【问题讨论】:

  • 脚本文件是否直接从功能 URL 加载?我的意思是当您将 URL 传递到浏览器时
  • @ITMan 它没有。
  • 您可以将脚本放在您想要的任何文件夹中。
  • 您的项目设置似乎有问题,JavaScript 文件应该作为静态内容提供。

标签: c# .net asp.net-mvc scriptbundle webgrease


【解决方案1】:

因此,一旦 /Views Web.config 移动到 Features 文件夹,问题就首先出现了。为了解决这个问题,我能够添加一个明确允许 js 文件的新处理程序。

  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler" />
      <add name="JavaScript" path="*.js" verb="GET, HEAD" type="System.Web.StaticFileHandler" />
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 2015-02-12
    • 2019-07-14
    • 2020-11-05
    • 1970-01-01
    • 2011-12-10
    相关资源
    最近更新 更多