Magento 2 -requirejs配置文件不导入JS文件,没有丢弃错误



在我的 requirejs-config.js文件中放置在 [MyModule]/view/frontend下,我包括所有这样的JS文件:

var config = {
    paths: {
        "jquery.min": "MyVend_MyModule/js/jquery.min",
        "bootstrap": "MyVend_MyModule/js/bootstrap.min",
        "bootstrap-datepicker": "MyVend_MyModule/js/bootstrap-datepicker.min",
        "bootstrap-select": "MyVend_MyModule/js/bootstrap-select.min",
        "jquery.smoothState": "MyVend_MyModule/js/jquery.smoothState",
        "moment": "MyVend_MyModule/js/moment.min",
        ...
    },
    shim: {
        // 'libname' : ['dependency']
        "bootstrap": [ "jquery"],
        "bootstrap-datepicker": [ "jquery"],
        "bootstrap-select": [ "jquery"],
        "jquery.smoothState": [ "jquery"],
        "moment": [ "jquery"],
        ...
    }
};

我的JS文件放置在[MyModule]/view/frontend/web/js下,文件名与您匹配,我可以向您保证。

好吧,所以我做bin/magento setup:static-content:deploybin/magento setup:upgrade等。这些文件镜像到/pub/static/...,所以我知道它们在那里。当我刷新页面时,/pub/static/_requirejs/...下的requirejs-config.js包括我的配置文件的内容,因此我也知道它也在那里。但是,JavaScript并未导入到页面中,我可以在查看网络选项卡时刷新(我正在使用Chrome(来确认这一点。所有导入的都是CSS文件,我在我的布局XML文件下声明的文件:

<css src="MyVend_MyModule::css/bootstrap-select.min.css"/>
<css src="MyVend_MyModule::css/animate.min.css"/>
<css src="MyVend_MyModule::css/famfamfam-flags.css"/>
<css src="MyVend_MyModule::css/magnific-popup.css"/>
...

那些可以正确导入的,它们在页面上。但是,即使文件在/pub/static下,我的JS文件也没有导入,并且在requirejs-config.js文件中。我做错了吗?没有错误,这使我更加困惑。

我也将在Magento SE上发布此信息,请不要标记为重复。

我建议您在requirejs-config文件中使用像bellow的代码。

var config = {
    map: {
        '*': {
            moment: 'MyVend_MyModule/js/moment'
        }
    }
};

我不确定您是否可以在此处使用缩小文件。但是,管理员有一个选项可以在末尾缩小所有JS和CSS文件。

相关内容

最新更新