Magento 2安装后未加载CSS和Javascript文件


25

我已经使用composer在本地服务器上成功安装了Magento 2,但看不到前端和管理面板设计。我在那里看到纯文本。在查看控制台时,我看到以下错误。

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

在此处输入图片说明


Apache / Nginx的?
zhartaunik 2015年

我正在使用apache服务器。
amitshree

你在窗户上吗?
克里斯·奥图尔

不。我正在使用ubuntu。
阿米什里

Answers:


13

这可能是符号链接的问题。我看到deploy.php对您有用,但您也可以尝试从pub / static删除资源,并查看/magento//a/64808/594上的说明是否对您有用。如果是这样,那么它可能会在开发过程中为您节省一些时间,因为它比运行deploy.php更快。

最好是知道是否有多个人遇到符号链接问题以及常见原因是什么。


1
任何人遇到此问题都应首先尝试。谢谢 !
Haijerome 2015年

基本上,如果有人遇到问题,低于2.0.6的Magento安装都会遇到此特定问题。特别是2.0.4困扰我们。因此,如果您仍然需要这些版本之一,请使用此版本。下次升级应该是最新的稳定版本!
马克斯

27

如果在Windows中安装后遇到CSS和设计问题,请按照以下步骤操作:

步骤1。 php bin/magento setup:static-content:deploy

第2步。 php bin/magento indexer:reindex

步骤3.确保已启用apache“ rewrite_module”,然后重新启动服务器

步骤4.删除var / cache下的缓存文件夹

以上步骤对我有用,希望这对您也有用。

让我知道您是否仍然遇到任何问题。


4
如果您在本地进行开发,那么这不是您想要的解决方案。这要求您在每次更改视图时都重新部署静态内容。确保您处于开发人员模式,并且符号链接正常工作。
内森·美林

@NathanMerrill感谢您的反馈。我想,这只是您更改主题级别时的唯一问题,但是我得到了完美的结果,而不必每次都在本地部署。
samumaretiya

这完全取决于您在做什么。如果要在视图文件夹中进行更改(而不仅仅是创建新文件),则需要进行部署。
弥敦道·美林

@NathanMerrill,如果您想进行更多对话,可以在skype上与我联系:samumaretiya,或者我们可以通过Google hangout进行对话samumaretiya@gmail.com
samumaretiya 2016年

像魅力一样工作!
Mike Nguyen

5

我的问题是,我已经得到过一点与我的兴奋pub/staticpub/media“清除缓存”和误删除的.htaccess文件中pub/static

一个快速的解决方法是重新放入/magento2ce/pub/static/.htaccess并刷新缓存,而Bob是您的叔叔。没有更多的CSS问题。

希望这可以帮助。如果有一种方法可以删除文件,并且以某种方式确保没有删除其他文件,那真是太棒了,例如.gitignore供系统linux rm -rf使用。或许有一天...

请注意: 这仅适用于CSS问题,对不起,我对缺少JS问题没有帮助。


你是英雄!
Ares

4

我在V2.1.3中遇到了此问题,其中签名默认设置为true。这意味着URL的路径名中包含“版本”。例如,文件路径应为:

pub / static / adminhtml / Magento / backend / en_US / mage / adminhtml / events.js

但通过:

pub / static / version14043395384 / adminhtml / Magento / backend / en_US / mage / adminhtml / events.js

要更改此设置,请打开文件:-

源\供应商\ magento \模块主题\ etc \ config.xml

并将默认值更改为零:

<配置>
    <默认>
        <dev>
            <静态>
                <sign> 0 </ sign>
            </ static>
        </ dev>
    </ default>
</ config>

2

我在生产中的多个Magento 2安装中遇到了这个问题。

假设您首先从命令行执行了此操作。

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

然后将以下目录上的文件权限更改为755:

/ pub /

/ pub / static /

/ pub / static / frontend /

/ pub / static / adminhtml /

/ pub / static / _requirejs /

瞧!CSS / JS文件可以完美加载。


1

导航到dev / tools / Magento / Tools / View文件夹并在命令行中运行此文件夹后,问题解决了。

php deploy.php

1
该死的希望也能解决我的问题,但是我的安装中不存在dev / tools / Magento / Tools / View
Tobias Hartmann

@TobiasHartmann:您是否检查了是否启用了mod_rewrite?另外,所有目录/文件都具有正确的权限吗?
阿米什里

1

我也遇到了这个问题,但最终还是一个core_config_data问题。https尽管我将url设置为,但我所有的资产都路由到了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设置:静态内容:部署 

第2步。

 $ php bin / magento索引器:重新索引
第三步

确保启用了Apache“ rewrite_module”,然后重新启动服务器

第四步。

 $ chown -R www-data:www-data / var / www / html / magento2 
步骤5

 $ chmod -R 777 / var / www / html / magento2 
第六步

删除var / cache下的缓存文件夹

以上步骤正常工作。我希望这也对您有用。


0

请按照以下步骤摆脱此问题。

1)下载Magento 2。

2)将其解压缩到www或htdocs目录中。

3)安装magento。不要使用localhost,在商店url和admin url中使用127.0.0.1

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不在生产模式下时,它将尝试为本地服务器上的某些静态资源创建符号链接。我们必须通过编辑ROOT > app > etc > di.xml文件来更改Magento 2的行为。在您喜欢的代码编辑器中打开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前端和后端URL



0

不需要编辑di.xml。启用符号链接后,我们面临js加载错误。
很多;

TypeError:$ .widget不是一个函数

刚刚关闭符号链接

高级>开发人员>模板设置>允许符号链接>否

关闭它之后,可能未部署的资源第一次加载缓慢,但是js错误消失了。



0

还要考虑如果您自己的主题中没有可用的语言环境,则更改商店的语言环境可能会产生这种效果。我已经看到过几次。


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文件路径的问题。


0

我只是在pub / static文件夹中缺少.htaccess。它必须在那里。


这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。- 评分
拉马赞德兰中号

@RamaChandranM我在magento网站上有相同的“症状”,用Google搜索它,发现了这个问题。后来我找到了解决我问题的方法。为什么我不与他人共享可能的解决方案?即使那不是作者的特定问题。真的很奇怪!
OZZIE


0

就我而言,在apache config中,我将“目录”部分中的“ AllowOverride”从“无”更改为“全部”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.