如何在我的自定义主题中包含自定义js文件?

时间:2020-09-18 23:00:13

标签: orocommerce

使用OroCommerce v4.1.8(最新的稳定版本)。

我已经创建了自定义主题(从“默认”主题扩展),该主题可以正确呈现(所有css均已按定义加载并应用),但是我的自定义JS文件似乎未包含在页面中。以下是我的\ Resources \ views \ layouts \ mytheme \ config \ jsmodules.yml文件:

    shim:
        jquery:
            expose:
                - $
                - jQuery
        magnificPopup:
            imports:
                - jQuery=jquery
        owlCarousel:
            imports:
                - jQuery=jquery
            exports: owlCarousel
    aliases:
        magnificPopup$: mytheme/js/magnific-popup.min
        owlCarousel$: mytheme/js/owl.carousel.min
        my-main$: mytheme/js/main
    dynamic-imports:
        mytheme:
            - magnificPopup
            - owlCarousel
            - my-main

在网络服务器上,我可以看到在/ var / www / oroapp / public / layout-build / mytheme / chunk文件夹下创建了一个已编译的mytheme.js文件,但是查看该主页的HTML,没有行/引用以加载此文件。

请告知我所缺少的内容或如何解决此问题?

1 个答案:

答案 0 :(得分:0)

OroCommerce使用Webpack构建JS依赖项。默认情况下,所有已配置的JavaScript依赖项文件都会合并到单个文件中,例如:

<script src="/layout-build/mytheme/app.js"></script>

其中mytheme是您的主题名称。 要在ES6模块中使用上述依赖项之一,您必须使用import语句或使用require函数来手动要求它。

有关更多详细信息,请参见关于JavaScript Modularity in the OroCommerce Application的官方文档。