我已经使用该apostrophe-assets
模块来推送 css 和 js 文件,方法与 @botell 提供的方法相同。对于推送js
文件没关系,但是对于css
我有一个与引导 css 相关的解析错误。所以这是因为撇号试图将它编译成 css,而它已经是 css。
为了解决这个问题,我重写了outerLayot.html
Nunjucks 模板。所以基本上在文件
node_modules/lib/modules/apostrohpe-templates/views/outerLayout.html
中,我们有:
{% extends "outerLayoutBase.html" %}
它本身扩展了outerLayoutBase.html
node_modules/lib/modules/apostrohpe-templates/views/outerLayoutBase.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %}{% endblock %}</title>
{{ apos.assets.stylesheets(data.when) }}
{% block standardHead %}
<meta name="viewport" content="width=device-width, initial-scale=1">
{% endblock %}
{% block extraHead %}
{% endblock %}
</head>
<body class="{% block bodyClass %}{% endblock %}">
{% block apostropheMenu %}
{{ apos.adminBar.output() }}
{% endblock %}
{% if data.user %}
<div class="apos-ui">
<div class="apos-context-menu-container">
{{ apos.pages.publishMenu({ publishMenu: data.publishMenu, page: data.page, piece: data.piece, bottom: true }) }}
{{ apos.pages.menu({ contextMenu: data.contextMenu, page: data.page, bottom: true })}}
</div>
</div>
{% endif %}
<div class="apos-refreshable" data-apos-refreshable>
{% block beforeMain %}{% endblock %}
<a name="main"></a>
{% block main %}{% endblock %}
{% block afterMain %}{% endblock %}
</div>
{{ apos.assets.templates(data.when) }}
{{ apos.assets.scripts(data.when) }}
<script type="text/javascript">
{{ data.js.globalCalls }}
{{ data.js.reqCalls }}
</script>
{% block extraBody %}
{% endblock %}
</body>
</html>
在这里,我使用{% block extraHead %}{% endblock %}
了块并将其覆盖到一个新文件中,即:
/lib/modules/apostrohpe-templates/views/outerLayout.html
{% extends "outerLayoutBase.html" %}
{% block extraHead %}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
{% endblock %}
在上面的文件中包含引导 css 的 CDN,并按预期工作。记下这个新文件的路径。该lib
文件夹位于根文件夹下,而不是node_modules
.