如何在模板中引用并显示外部静态资源(如CSS、JS)?

📅 👁️ 60

在 AnQiCMS 的模板中引用和显示外部静态资源,如 CSS 样式表和 JavaScript 脚本,是构建功能完善、视觉美观网站的关键步骤。了解其工作原理和推荐的做法,能让我们的网站开发工作更加高效和灵活。

静态资源存放位置

在使用 AnQiCMS 构建网站时,样式表(CSS)、JavaScript 脚本(JS)以及图片等静态文件是构成网站视觉和交互体验不可或缺的部分。AnQiCMS 对这些静态资源的组织有清晰的约定:所有的静态文件都应该存放在您的 AnQiCMS 安装目录下的 /public/static/ 文件夹中。

例如,如果您的 CSS 文件名为 style.css,您会将其放置在 /public/static/css/style.css。同样,JavaScript 文件如 script.js 则可能位于 /public/static/js/script.js。这个 /public/static/ 目录在您的网站部署后,会通过 Web 服务器(如 Nginx 或 Apache)直接映射到您的网站根目录下,这意味着它们可以直接通过 URL 访问。

在模板中引用本地静态资源

当您需要将这些本地存储的静态资源引入到 AnQiCMS 的模板中时,系统提供了一个非常便捷的标签来帮助我们动态生成正确的路径,那就是 TemplateUrl。这个 TemplateUrl 标签会根据您网站的配置,自动获取模板文件所在的根路径,确保您的资源链接始终是正确的,无论您的网站部署在哪个子目录或子域名下。

引用 CSS 样式表:

要引用一个 CSS 文件,通常在模板的 <head> 区域内使用 <link> 标签,并结合 {% system with name="TemplateUrl" %} 标签来构建路径。

假设您的 CSS 文件在 /public/static/css/main.css,在模板中可以这样写:

<link rel="stylesheet" href="{% system with name="TemplateUrl" %}/static/css/main.css">

这里,{% system with name="TemplateUrl" %} 会被替换为您的模板根目录的 URL,然后加上 /static/css/main.css 即可指向您的样式文件。

引用 JavaScript 脚本:

类似地,引入 JavaScript 文件通常在 <head><body> 结束标签前使用 <script> 标签。

如果您的 JS 文件在 /public/static/js/app.js,模板引用方式如下:

<script src="{% system with name="TemplateUrl" %}/static/js/app.js"></script>

如果您希望在模板代码中直接构建更复杂的 URL,也可以先将 TemplateUrl 赋值给一个变量再使用,例如:

{% system templateUrl with name="TemplateUrl" %}
<link href="{{ templateUrl }}/static/css/style.css" rel="stylesheet">

引用外部 CDN 静态资源

除了本地资源,我们常常也会使用外部 CDN(内容分发网络)提供的静态资源,例如一些流行的前端框架(如 Bootstrap、jQuery)或特定的库文件。

引用 CDN 资源则更为直接,因为它们通常提供完整的 URL 地址。您只需将这些 URL 直接放入 <link><script> 标签中即可。

例如,要引入一个 GitHub Markdown 样式表,您可以这样操作:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.2.0/github-markdown.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />

引入 MathJax 或 Mermaid 等 JavaScript 库也遵循相同的模式:

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

一些实用的小技巧

  • 合理组织文件: 为了保持项目整洁,建议在 /public/static/ 目录下创建 cssjsimages 等子文件夹,并根据功能或模块进一步细分,例如 css/pages/home.cssjs/modules/slider.js
  • 处理缓存问题: 在开发或更新静态资源后,有时浏览器可能会因为缓存而显示旧版本。除了清除浏览器缓存外,您也可以通过在资源链接后添加版本号或时间戳来强制浏览器重新

相关文章

怎样将Go语言的高并发特性体现在前台页面加载速度上?

在当今快节奏的网络世界,网站加载速度已成为用户体验和搜索引擎排名的核心要素。没有人喜欢等待一个迟钝的页面,而搜索引擎也倾向于将快速响应的网站排在前面。那么,如何才能让你的网站像闪电般迅速呢?对于安企CMS(AnQiCMS)的用户而言,答案就藏在它强大的Go语言底层架构中,尤其是Go语言引以为傲的高并发特性。 ### Go语言带来的底层加速:为前端加载注入澎湃动力 首先

2025-11-07

如何在模板中动态显示当前年份或当前时间?

在网站运营中,我们经常需要动态地显示当前年份或时间,例如在网站底部显示最新的版权年份,或者在文章中精确标记页面的生成时间。AnqiCMS 提供了灵活强大的模板功能,让这些操作变得非常简单。接下来,我们将探讨如何在 AnqiCMS 模板中实现这一需求。 ### 动态显示当前年份或时间:使用 `now` 标签 AnqiCMS 提供了一个非常便捷的内置标签 `now`,用于在模板渲染时

2025-11-07

如何在前台页面安全地显示包含HTML标签的富文本内容?

在网站运营中,我们经常需要展示包含图片、链接、加粗文本等丰富格式的内容,也就是所谓的富文本内容。但在前台页面安全地显示这些带有HTML标签的富文本,是一项既实用又需要谨慎处理的任务。安企CMS作为一款高效的内容管理系统,充分考虑了这一点,并为我们提供了清晰的解决方案。 ### 了解安企CMS中的富文本内容 当我们在安企CMS的后台编辑器中撰写文章、产品描述或单页面内容时

2025-11-07

如何使用模板中的`if`、`for`等逻辑标签控制内容的条件显示和循环显示?

在网站内容管理中,展示动态且多样化的内容是提升用户体验和网站吸引力的关键。安企CMS(AnQiCMS)提供了强大的模板系统,借鉴了Django模板引擎的语法,让您能够轻松地通过逻辑标签来控制内容的显示。其中,`if` 标签用于条件判断,而 `for` 标签则用于循环遍历,它们是构建灵活多变页面的基石。 ### 灵活的条件判断:`if` 逻辑标签的妙用 `if`

2025-11-07

如何在AnQiCMS模板中定义和使用变量进行内容显示?

安企CMS(AnQiCMS)凭借其基于Go语言的高效架构和灵活的模板机制,让内容呈现变得既强大又直观。在网站内容运营中,我们经常需要展示动态信息,比如文章标题、产品价格、联系方式等,这就离不开在模板中定义和使用变量。理解如何在AnQiCMS模板中灵活运用变量,是搭建和维护高效、富有个性化网站的关键。 安企CMS的模板引擎借鉴了Django的语法,它使得变量的定义和引用变得非常易于理解。基本上

2025-11-07

如何将图片资源进行分类管理,并在前台按分类显示?

图片是网站内容不可或缺的一部分,它们不仅能美化页面,还能有效传达信息,提升用户体验。然而,随着网站图片数量的增长,如何高效地管理这些图片资源,并灵活地在前台页面按需展示,成为了许多网站运营者面临的挑战。安企CMS(AnQiCMS)深谙此道,提供了一套直观且功能强大的图片资源管理系统,帮助我们轻松驾驭这些视觉元素。 ### 图片资源的后台分类管理:让一切井井有条 在安企CMS中

2025-11-07

如何配置301重定向规则以避免内容调整后导致的SEO影响?

网站内容运营是一项持续性的工作,随着业务发展,内容的更新、调整,乃至网站结构的优化都可能导致页面URL发生变动。然而,这些URL的变化如果处理不当,往往会对网站的搜索引擎优化(SEO)带来显著的负面影响,例如排名下降、流量流失等。这时,301重定向就成为了我们避免这些不利影响、维护网站SEO健康的关键工具。 ### 理解301重定向的价值 简单来说,301重定向(Moved

2025-11-07

如何在模板中通过`include`、`extends`等标签组织可复用的显示模块?

安企CMS模板:巧用`include`和`extends`,打造高效可复用的显示模块 当你使用安企CMS搭建网站时,你很快就会发现它在组织内容展示方面非常灵活。尤其是处理模板时,内置的Django模板引擎语法让我们可以像搭积木一样高效地构建页面。今天,我们就来聊聊如何巧妙运用`include`和`extends`这两个强大的标签,来组织和管理你网站中的可复用显示模块,让你的模板更整洁、更易维护

2025-11-07