php - 即使与 index.php 位于同一目录中,CSS 和 JS 也不会加载
问题描述
我觉得我一定错过了一些非常明显的东西,因为我以前从未发生过这种情况!
我正在运行运行以下命令的本地 PHP 服务器:
php -S localhost:8888 index.php
当我转到 URL 时,HTML 和所有 php 代码运行得很好。
但是,每当我添加脚本标记以在标头中添加 JS 时,我都会收到以下错误:
Uncaught SyntaxError: Unexcepted token <
当我尝试添加 CSS 文件时,我收到此错误:
资源解释为样式表,但使用 MIME 类型 text/html 传输:“ http://localhost:8888/assets/style.css ”。
无论我是否尝试使用 PHP 包含标题include
:
<?php include("../includes/layouts/header.php"); ?>
或者直接在 中添加标头和这些导入index.php
,我总是收到这些错误。
我的预感是目录树有问题。但是我什至将 CSS 和 JS 文件放在与 相同的目录中index.php
,并将标头代码添加到index.php
,但我仍然收到这些错误。
标头代码
<!DOCTYPE html Public "HTML TEMPLATE">
<html lang="en">
<head>
<title>Title</title>
<link rel="stylesheet" href="style.css" media="all" title="no title" type="text/css" charset="utf-8">
<script src="script.js"></script>
</head>
<body>
<div id="header">
<h1>Header</h1>
</div>
脚本.js:
$( document ).ready(function() {
console.log( "ready!" );
});
控制台错误日志:
添加我当前项目结构的图像:
解决方案
您应该/
在路径的开头使用。根据您的更新问题,您的路径变为/public/assets/style.css
. 但我再次建议你应该使用最好的方法
link rel="stylesheet" href="/public/assets/style.css" media="all" title="no title" type="text/css" charset="utf-8">
<script src="/public/assets/script.js"></script>
有关绝对路径和相对路径的更多信息
- 如果路径是从系统根目录开始构建的,则称为绝对路径。
- 如果路径是从当前位置开始构建的,则称为相对路径
最好的方法:你应该像在 config.php 文件中一样创建基本 url
define('BASE_URL', 'http://example.com');
你可以这样使用
<?php
include('config.php');
?>
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/styles.css" />
推荐阅读
- mongodb - 如何解决pymongo身份验证失败错误?
- html - 获取元素按 id 角度 7
- java - 读取 XML 并巧妙地将其转换为 JSON
- asp.net-core - 使用 Enum DisplayName 或 EnumMember 值在 json 中反序列化 Odata
- python - 有没有办法处理通过终端输入的数字整数列表而不将它们保存到列表中?
- c# - ASP.Net 通过 API 调用在服务器上运行 exe
- python - 将多元 python 函数与一个位置参数集成
- int - 如何在 PyTorch 中将布尔张量转换为整数?
- python - 如何在 Python 中保存绘图图形
- optaplanner - 用于 PlanningVariable 字段的 InverseRelationShadowVariable