Magento 2:静态JS文件require-js错误的路径

时间:2018-06-06 10:37:26

标签: requirejs magento2

我在Magento 2.2.4安装中找不到的文件出现JS错误。 我刚从版本2.1.4升级,所以这是一个巨大的升级。

服务器向我的静态文件夹发出请求,然后在特定的语言_LANGUAGE文件夹中发出请求。

例如:

/static/frontend/Infortis/atvise/nl_NL/ultramegamenu.js 404 ()

它使请求到错误的路径...... 该文件不在nl_NL的根目录中,而是在基础文件夹中:

/static/frontend/Infortis/atvise/nl_NL/Infortis_UltraMegamenu/js/ultramegamenu.js

在requirejs-config.js中,它说明了这个具体的例子:

var config = {
paths: {
    'ultramegamenu': 'Infortis_UltraMegamenu/js/ultramegamenu'
},
shim: {
    'ultramegamenu': {
        deps: ['jquery', 'jquery/ui', 'enquire', 'uaccordion']
    }
}
};

所以这似乎是正确的......

任何人都有一个线索在哪里看下一个?

1 个答案:

答案 0 :(得分:0)

缺少一些信息。您在哪里/如何初始化JS组件?来自模块或主题?

Magento试图在根目录中找到JS文件,因为您需要在某处使用该路径。

让我们假设您的主题中包含JS组件,而require文件中包含了.phtml指令。当然,您正在这样做:

...
    <script type="text/javascript" >
        require(['ultramegamenu']);
    </script>
...

如果您将代码更改为此,我会工作:

...
    <script type="text/javascript" >
        require(['js/ultramegamenu']);
    </script>
...

请注意js/ /。这样,require.js将尝试在您主题的js文件夹中找到脚本。