在 Orchard CMS 中,如何让您的站点在 CDN 上而不是在主题文件夹中查看 Twitter Bootstrap

In the Orchard CMS, how do you make your site look at a Twitter Boostrap on a CDN instead of within the Theme folder

我正在使用 Orchard v.1.9.1.0。

我的自定义主题的布局页面是这样开始的:

@using Orchard.UI.Resources;

@{
    Script.Require("ShapesBase");
    // css
    Style.Include("//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css");
    Style.Include("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css");
}

使用 Script.Include,我认为加载 CDN 参考会起作用,但是当构建项目并在本地查看它时,参考不存在,而是呈现如下:

<link href="/Themes/HotToddy5K/Styles/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />

Orchard 为什么要这样做?我似乎无法找到它在 base/core 中应用它的位置。我试图删除那个 "scripts" 文件夹中的那个 bootstrap.min.css 文件,希望它能回退到我的 CDN 参考,但没有成功。

有什么想法吗?

您可以在 ResourceManifest.cs 上轻松完成此操作。

实际上更好,因为您可以提供调试文件的回退。您可以从管理员的设置部分管理此功能。

哪里说 "Resource Mode",在 1.9x 中你也可以触发 CDN。

我使用 Script/Style.Require 而不是 Include,因为它给了我更多的控制权。它还维护您的 script/style 依赖项。