Webpack 加载 materialize-css,无法读取未定义的属性“swing”

Posted

技术标签:

【中文标题】Webpack 加载 materialize-css,无法读取未定义的属性“swing”【英文标题】:Webpack load materialize-css, Cannot read property 'swing' of undefined 【发布时间】:2018-01-31 06:51:21 【问题描述】:

一切正常,但是当我从“crypto-js”导入 CryptoJS 时,它显示错误。我不知道为什么导入不相关的东西会破坏materialize-css?以前也发生过。 webpack 太难了。任何线索表示赞赏。谢谢!

TypeError:无法读取未定义的属性“swing” (匿名函数) node_modules/materialize-css/dist/js/materialize.js:42

  39 | )(function ($) 
  40 | 
  41 |   // Preserve the original jQuery "swing" easing as "jswing"
> 42 |   $.easing['jswing'] = $.easing['swing'];
  43 | 
  44 |   var pow = Math.pow,
  45 |       sqrt = Math.sqrt,

“jquery”:“^3.2.1”,“materialize-css”:“^0.100.1”,

new webpack.ProvidePlugin(
      $: "jquery",
      jQuery: "jquery",
      'window.jQuery': "jquery",
      'window.$': "jquery",
      "Hammer": "hammerjs/hammer",
      Materialize: 'materialize-css/dist/js/materialize.js',
      "window.Materialize": 'materialize-css/dist/js/materialize.js',
    ),

【问题讨论】:

【参考方案1】:

我不需要通过 webpack.ProvidePlugin 导入,只需导入 index.js 中的 materialize-css/dist/js/materialize.js (entry) 即可解决问题。可能是因为它是在 jQuery 加载之前加载的。

【讨论】:

以上是关于Webpack 加载 materialize-css,无法读取未定义的属性“swing”的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用文件加载器和 webpack 加载大型 json 文件

webpack常用插件

webpack安装错误 ‘webpack : 无法加载文件’

使用 webpack 为 vue 加载引导程序

使用 webpack 加载 .jsx 文件

webpack 加载器和包含