CSS и JS няма да се заредят дори когато са в същата директория като index.php

Имам чувството, че трябва да пропускам нещо много очевидно, защото никога преди не ми се е случвало това!

Пускам локален PHP сървър, изпълняващ следната команда:

php -S localhost:8888 index.php

Когато отида на URL адреса, HTML и целият php код вървят добре.

Въпреки това, когато добавя маркер на скрипт за добавяне на JS в заглавката, получавам следната грешка:

Uncaught SyntaxError: Unexcepted token ‹

И когато се опитам да добавя CSS файл, получавам тази грешка:

Ресурс, интерпретиран като Stylesheet, но прехвърлен с 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="/bgstyle.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!" );
});

Конзолен регистър на грешките:

конзолни грешки

Добавяне на изображение на моята текуща структура на проекта:

въведете описание на изображението тук


person Alkarin    schedule 12.10.2018    source източник
comment
Трябва да използвате относителни URL адреси от корена на документа, като добавите / пред URL адреса: href="/path-from-doc-root/style.css" и src="/path-from-doc-root/script.js" и т.н. По този начин всички връзки и препратки ще работят, независимо под какъв URL адрес се намират. Ако това не работи, покажете ни структурата на вашия файл/папка.   -  person Magnus Eriksson    schedule 12.10.2018
comment
проверете своя jscript.js ред 3 и го публикувайте.   -  person markantonay    schedule 12.10.2018
comment
Добавих JS кода и изображение на текущата ми структура на проекта.   -  person Alkarin    schedule 12.10.2018
comment
добавете ‹script src=cdnjs.cloudflare .com/ajax/libs/jquery/3.3.1/› преди етикет на скрипт script,js   -  person markantonay    schedule 12.10.2018
comment
Преди това имах скрипт за включване на jquery. Но дори и с празен JS файл, все още получавам същата грешка на script.js:3   -  person Alkarin    schedule 12.10.2018
comment
в script.js изтрихте ли alt + a? може да има малко място.   -  person markantonay    schedule 12.10.2018
comment
Мога да потвърдя, че няма празно пространство.   -  person Alkarin    schedule 12.10.2018
comment
опитайте се да поставите заглавка и да поставите 1 файл и проверете дали сте пропуснали някои ‹ в него.   -  person markantonay    schedule 12.10.2018


Отговори (1)


трябва да използвате / в началото на пътя. според вашия въпрос за актуализиране вашият път става /public/assets/style.css. но отново препоръчвам да използвате най-добрия начин

link rel="stylesheet" href="/bg/public/assets/style.css" media="all" title="no title" type="text/css" charset="utf-8">
    <script src="/public/assets/script.js"></script>

Още малко информация за абсолютния път и относителния път

  • Ако пътят е построен, започвайки от системния корен, той се нарича абсолютен.
  • Ако пътят е построен, започвайки от текущото местоположение, той се нарича относителен

Най-добрият начин: трябва да създадете основен url като във файла config.php

define('BASE_URL', 'http://example.com');

и можете да използвате така

<?php
    include('config.php');
?>

<link rel="stylesheet" href="/bg<?php echo BASE_URL; ?>/styles.css" />
person Bilal Ahmed    schedule 12.10.2018
comment
Хей Билал. Актуализирах пътищата в index.php до /public/assets/style.css и /public/assets/script.js, но проблемът продължава. - person Alkarin; 12.10.2018
comment
@Alkarin ти управляваш сървъра от public/, нали? Тогава public е вашето /, премахнете го от пътя - person msg; 12.10.2018
comment
@msg Аз съм в директорията public, когато стартирам php сървъра, правилно. Задаването на пътищата до /assets/filename все още ми дава същите грешки. - person Alkarin; 12.10.2018
comment
@BilalAhmed вече има екранна снимка на грешките на конзолата в основната публикация. Все още получавате абсолютно същите грешки, същите редове и всичко останало. - person Alkarin; 12.10.2018