首页 > 解决方案 > 制作 CMS 网站不加载 CSS 和 JavaScript 文件

问题描述

我从 Git 存储库克隆了一个现有的 Craft 项目,并运行php craft setup命令在 .env 文件中添加我自己的数据库凭据和 SECURITY_KEY。

我正在使用 MAMP 在本地服务器上运行它。数据库端口设置为 8889,服务器指向 Craft 项目的web文件夹。

当我访问我的本地主机时,网站确实加载了,我可以看到所有通过 HTML 加载的图像。但它不加载 CSS 或 JavaScript。在控制台中,指向 CSS 文件的链接显示href=(unknown)

在 .twig 模板中,指向 CSS 的链接使用 siteUrl,如下所示:

<link rel="stylesheet" href="{% includeCssFile siteUrl~'css/file.css' %}">  

和这样的JS文件:

{% includeJsFile siteUrl~'js/file.js' %}

这就是我的 .env 文件的样子:

# The environment Craft is currently running in ('dev', 'staging', 'production', etc.)
ENVIRONMENT="dev"

# The secure key Craft will use for hashing and encrypting data
SECURITY_KEY="myKey"

# The Data Source Name (“DSN”) that tells Craft how to connect to the database
DB_DSN="mysql:host=localhost;port=8888;dbname=db"

# The database username to connect with
DB_USER="user"

# The database password to connect with
DB_PASSWORD="user"

# The database schema that will be used (PostgreSQL only)
DB_SCHEMA=""

# The prefix that should be added to generated table names (only necessary if multiple things are sharing the same database)
DB_TABLE_PREFIX=""

DEFAULT_SITE_URL="http://localhost:8888/project/web/"

这是我迄今为止尝试过的:

以上都没有奏效。任何帮助将非常感激。谢谢!

标签: phphtmltwigcontent-management-systemcraftcms

解决方案


我不知道您的方法使用例如:

{% includeJsFile siteUrl~'js/file.js' %}

路径似乎不正确。但是,我想我为您找到了合适的解决方案:

  1. 将变量添加到您的.env文件中。
  2. 将这些变量作为别名添加到general.php
  3. 在您的模板中使用它们。

给你举个例子:

  1. 添加YOUR_NAME="https://yoursite.com".env文件中。
  2. 将以下内容添加到general.php您的config文件夹中:
'aliases' => [
   '@your_name' => getenv('YOUR_NAME')
],
  1. 在模板中使用别名:
<link rel="stylesheet" href="{{ alias('@your_name') }}/css/file.png">

额外提示:这些变量也可用于在控制面板的资产中配置您的卷。


推荐阅读