如何使用RequireJs实现Materialise

时间:2017-10-27 15:50:02

标签: javascript requirejs materialize amd

到目前为止还没有materializecss的AMD版本,因此无法使用RequireJs

我尝试在RequireJs上使用Shim配置,但我总是收到错误:

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 ()

1 个答案:

答案 0 :(得分:1)

目前,Materialise在requiere方面存在很多问题。在这里分享我找到的解决方案。它适用于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'] } } };
  3. 希望它有所帮助。