Файлы CSS и Javascript не загружаются после установки Magento 2

25

Я успешно установил Magento 2 на локальный сервер с помощью composer, но не вижу дизайна внешнего интерфейса и панели администратора. Я вижу простые тексты там. Глядя на консоль, я вижу следующую ошибку.

TypeError: require.config is not a function requirejs-config.js
TypeError: require.config is not a function admin:59
TypeError: require is not a function admin:62
ReferenceError: Ext is not defined admin:68
ReferenceError: Fieldset is not defined admin:76
TypeError: require is not a function admin:83
TypeError: require is not a function

введите описание изображения здесь

amitshree
источник
apache / nginx?
Жартауник,
Я использую сервер Apache.
amitshree
ты на окнах?
Крис О'Тул
Нет. Я использую Ubuntu.
amitshree

Ответы:

13

Это может быть проблемой с символическими ссылками. Я вижу, что deploy.php работает для вас, но вы также можете попробовать удалить ресурсы из pub / static и посмотреть, работают ли инструкции из /magento//a/64808/594 для вас. Если это так, то это может сэкономить вам некоторое время во время разработки, так как это должно быть быстрее, чем запуск deploy.php.

Также было бы полезно узнать, сталкиваются ли несколько человек с проблемами с символическими ссылками и какова общая причина.

Крис О'Тул
источник
1
Любой, кто сталкивался с этой проблемой, должен попробовать это сначала. Спасибо !
Haijerome
В основном у нас была эта специфическая проблема с Magento-Installations ниже 2.0.6, если у кого-то есть проблемы. Особенно 2.0.4 нас глючил. Так что, если вам все еще нужна одна из этих версий, используйте эту. Следующее обновление должно быть до последней стабильной версии!
Макс.
27

Если вы столкнулись с проблемой CSS и дизайна после установки в Windows, пожалуйста, выполните следующие действия:

шаг 1. php bin/magento setup:static-content:deploy

шаг 2. php bin/magento indexer:reindex

Шаг 3. Убедитесь, что apache "rewrite_module" включен, а затем перезапустите сервер.

шаг 4. удалить папку кеша в var / cache

Вышеуказанные шаги работают для меня. Я надеюсь, что это будет работать и для вас.

Дайте мне знать, если у вас все еще есть проблемы.

samumaretiya
источник
4
Если вы разрабатываете локально, это не то решение, которое вам нужно . Это требует повторного развертывания статического содержимого каждый раз, когда вы вносите изменения в представления. Убедитесь, что вы находитесь в режиме разработчика и что символические ссылки работают.
Натан Меррилл
@NathanMerrill спасибо за ваш отзыв. Полагаю, это единственная проблема, когда вы меняли уровень темы, однако я получаю отличный результат без развертывания локально каждый раз.
Самумаретия
Это полностью зависит от того, что вы делаете. Если вы вносите изменения в папку просмотра (а не просто создаете новые файлы), вам нужно будет выполнить развертывание.
Натан Меррилл
@NathanMerrill, если вы хотите, чтобы у вас было больше разговоров, вы можете связаться со мной по скайпу: samumaretiya или, может быть, мы можем поговорить через Google Hangouts samumaretiya@gmail.com
samumaretiya
Работай как шарм !!!
Майк Нгуен
5

Мой вопрос заключается в том , что я получил немного слишком возбуждались с моим pub/staticи pub/media«Очистка кэша» и случайно удалили .htaccessфайл pub/static.

Быстрое решение проблемы заключалось в том, чтобы вытащить свежий /magento2ce/pub/static/.htaccessи очистить кеш, а Боб - твой дядя. Больше никаких проблем с CSS.

Надеюсь это поможет. Было бы замечательно, если бы был способ удалить файлы и каким-то образом убедиться, что другие файлы не были удалены, например .gitignore для системного rm -rfиспользования Linux . Возможно, однажды...

ОБРАТИТЕ ВНИМАНИЕ: это только для проблем CSS, извините, я не помогаю с отсутствующей проблемой JS.

Натаниэль роджерс
источник
Вы герой!
Арес
4

У меня была эта проблема с V2.1.3, где подпись по умолчанию установлена ​​в true. Это означает, что URL-адреса имеют «версию» в имени пути. Например, путь к файлу должен быть:

паб / статический / adminhtml / Magento / бэкенд / en_US / маг / adminhtml / events.js

Но приходит через: -

паб / статический / version14043395384 / adminhtml / Magento / бэкенд / en_US / маг / adminhtml / events.js

Чтобы изменить это, откройте файл: -

источник \ поставщика \ Magento \ модуля темы \ и т.д. \ config.xml

И изменить значение по умолчанию на ноль: -

<Конфиг>
    <По умолчанию>
        <Устройство>
            <Статическими>
                <Знак> 0 </ знак>
            </ Статические>
        </ DEV>
    </ По умолчанию>
</ Config>
Даллас Кларк
источник
2

Я столкнулся с этой проблемой на нескольких установках Magento 2 в производстве.

Предполагая, что вы сделали это первым из командной строки.

php bin/magento setup:static-content:deploy from <magento_install_dir>

Затем измените права доступа к файлу на 755 для следующих каталогов:

/паб/

/ Паб / статический /

/ Паб / статический / интерфейс /

/ Паб / статический / adminhtml /

/ Паб / статический / _requirejs /

Вуаля! CSS / JS файлы загружаются отлично.

Робби Рейнольдс
источник
1

После перехода в папку dev / tools / Magento / Tools / View и запуска этого в командной строке проблема решена.

php deploy.php
amitshree
источник
1
блин надеялся, что это тоже исправит мою проблему, но dev / tools / Magento / Tools / View не существует в моей установке
Тобиас Хартманн
@TobiasHartmann: Вы проверяли, включен ли mod_rewrite или нет? Также все каталоги / файлы имеют правильное разрешение или нет?
amitshree
1

У меня тоже была эта проблема, но она перестала быть core_config_dataпроблемой. Все мои активы перенаправлялись на httpsURL, несмотря на то , что я установил этот URL http.

В core_config_dataвызываемом поле есть поле, web/secure/use_in_frontendкоторое было установлено в 1. Я установил его 0, очистил кеш, и все заработало нормально.

Джошуа Сойло
источник
1

1- Измените файл app / etc / di.xml , изменив следующее содержимое:

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

Для того, чтобы:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

2- sudo php /var/www/html/magento2ce/bin/magento setup:static-content:deploy

Хари
источник
1

У меня была эта проблема при использовании языковых файлов.

При использовании языка необходимо указать язык системы:

php bin/magento setup:static-content:deploy nl_NL
эй
источник
0

Если после установки в magento2 вы столкнулись с проблемой дизайна загрузки страниц css и js, выполните следующие действия:

откройте терминал и перейдите к корню magento web

 $ cd / var / www / html / magento2 
Шаг 1.

 $ php bin / magento setup: static-content: deploy 

Шаг 2.

 $ php bin / magento indexer: reindex
Шаг 3.

убедитесь, что apache «rewrite_module» включен, а затем перезапустите сервер

Шаг 4

 $ chown -R www-data: www-data / var / www / html / magento2 
Шаг 5

 $ chmod -R 777 / var / www / html / magento2 
Шаг 6

удалить папку кеша в var / cache

Вышеуказанный шаг работает. Я надеюсь, что это будет работать и для вас.

Арвинд Рават
источник
0

Пожалуйста, следуйте инструкциям ниже, чтобы избавиться от этой проблемы.

1) Скачать Magento 2.

2) Распакуйте его в свой каталог www ИЛИ htdocs.

3) Установите magento. Не используйте localhost , используйте 127.0.0.1 в хранилище url и admin url.

4) После успешной установки НЕ запускайте MAGENTO.

5) Теперь удалите кэш / сессию magento 2. Перейдите по указанным ниже путям и удалите файлы.

Magento Root > var > cache > Delete all files

Magento Root > var > page_cache > Delete all files

Magento Root > var > session > Delete all files

6) Измените поведение символических ссылок для некоторых статических ресурсов, как указано ниже:

Когда Magento 2 не находится в рабочем режиме, он пытается создать символические ссылки для некоторых статических ресурсов на локальном сервере. Мы должны изменить это поведение Magento 2, перейдя к редактированию ROOT > app > etc > di.xmlфайла. Откройте di.xml в вашем любимом редакторе кода, найдите virtualType name="developerMaterialization"раздел. В этом разделе ниже вы найдете элемент, <item name="view_preprocessed" xsi:type="object">который необходимо изменить. Вы можете изменить его, изменив следующий контент:

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

Для того, чтобы:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

7) Удалить все файлы, кроме **.htaccess**

Magento Root > pub > static > Delete all files except **.htaccess**

ЭТО СДЕЛАНО. Теперь вы можете запустить magento Front и Backend URL

Мухаммед Азим
источник
0

Запустите следующие команды:

php bin/magento setup:static-content:deploy
php bin/magento setup:upgrade
php bin/magento setup:di:compile 
php bin/magento cache:clean
Абхинав Сингх
источник
0

Не нужно редактировать di.xml. Мы столкнулись с ошибками загрузки js, когда включены символические ссылки.
Много;

Ошибка типа: $ .widget не является функцией

Просто закройте символическую ссылку

Дополнительно> Разработчик> Настройки шаблона> Разрешить символические ссылки> Нет

После закрытия, возможно, не развернутые ресурсы загружаются медленно в первый раз, но ошибки js исчезли.

rbostan
источник
0

Также учтите, что изменение языкового стандарта вашего магазина может иметь такой эффект, если у вас нет этого языка в вашей собственной теме. Я видел это случалось несколько раз.

ivanji
источник
0

Вы можете следовать этим инструкциям:

Если есть какой-то version#######подобный ниже метод, безусловно, поможет. Http: //localhost/magento2/pub/static/version1511270229/frontend/Magento/luma/en_US/mage/calendar.css

Магазины> Конфигурация> Дополнительно> Разработчик> Подписать статические файлы (Да-> Нет)

Если у вас есть доступ к базе данных, выполните эту команду:

Вставьте значения core_config_data (config_id, scope, scope_id, path, value) (null, 'default', 0, 'dev / static / sign', 0);

Remove the cache and reload the page, Эти два простых шага помогли мне решить проблемы с путями к файлам js и css.

inrsaurabh
источник
0

Мне просто не хватало .htaccess в папке pub / static. Это должно быть там.

Ozzie
источник
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом. - Из Обзора
Рама Чандран М
@RamaChandranM У меня были такие же «симптомы» на моем сайте magento, я нашел его и нашел этот вопрос. Позже я нашел решение моей проблемы. Почему бы мне не поделиться возможным решением с другими? Даже если бы это не была специфическая проблема авторов .. Действительно странный комментарий!
Оззи
0

Столкнулся с этой проблемой много раз. Прежде всего, в pub / static должен быть файл .htaccess, в котором URL-адрес переписан для номера версии, включенного в статический URL-адрес ресурса.

Калян Чакраварти V
источник
0

В моем случае в конфигурации Apache я изменяю AllowOverride с None на All в соответствующем разделе каталога.

Марчин Журек
источник