即使与index.php位于同一目录中,CSS和JS也不会加载

时间:2018-10-12 05:01:37

标签: php html tags

我觉得我必须错过一些非常明显的东西,因为我以前从未发生过这种事情!

我正在运行本地PHP服务器,并运行以下命令:

php -S localhost:8888 index.php

当我转到URL时,HTML和所有php代码都运行良好。

但是,每当我在标题中添加脚本标签以添加JS时,都会收到以下错误消息:

  

未捕获到的SyntaxError:异常令牌<< / p>

当我尝试添加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>

script.js:

$( document ).ready(function() {
    console.log( "ready!" );
});

控制台错误日志:

console errors

添加我当前项目结构的图像:

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该在路径的开头使用/。根据您的更新问题,您的路径将变为/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" />