Как использовать Materialise с RequireJs

1

Пока нет версии материализатора AMD, которая делает невозможным использование с RequireJs

Я попробовал использовать конфигурацию Shim на RequireJs, но всегда получаю сообщение об ошибке:

require.config({
    baseUrl: '/resources/scripts',
    catchError: true,
    paths: {
        'jquery': '//code.jquery.com/jquery-2.1.1.min',
        'materialize': '../../build/bower_components/materialize/dist/js/materialize',
        'velocity': '../../build/bower_components/materialize/js/velocity.min',
        'hammerjs': '../../build/bower_components/materialize/js/hammer.min'
    },
    shim: {
        'materialize': {
            deps: ['jquery', 'hammerjs', 'velocity'],
            exports: 'Materialize'
        },
        'velocity': {
            deps: ['jquery']
        }
    }
});

Ошибка:

require.js:168 Uncaught Error: Mismatched anonymous define() module: function ()
Теги:
materialize
requirejs
amd

1 ответ

1

На данный момент у материализации есть много проблем с требованием. Здесь вы найдете решение, которое я нашел. Это работает для меня в Magento 2:

  1. Загрузите эту "версию" материализации: https://github.com/ccloli/materialize/tree/AMD-fix/dist/js (обратите внимание, что это не официальная версия)
  2. var config = { paths: { 'jquery': '//code.jquery.com/jquery-2.1.1.min', 'materialize': 'Magento_Theme/js/materialize', 'velocity': 'Magento_Theme/js/velocity', 'hammerjs': 'Magento_Theme/js/hammerjs', },
    shim: { 'velocity': { deps: ['jquery'] }, 'hammerjs': { deps: ['jquery'] }, 'materialize': { deps: ['jquery', 'velocity', 'hammerjs'] } } };

Надеюсь, поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню