将模块数组(MDBootstrap js模块)导入Laravel Mix

时间:2019-06-18 12:37:51

标签: javascript ecmascript-6 es6-modules mdbootstrap

我全新安装了Laravel 5.8,并且希望包含MDBootstrap中的js模块。

在我的 bootstrap.js 文件中,我有:

require('./mdb/modules');

./mdb/modules.js 文件具有:

exports.modules = [
  './js/_intro-mdb-pro.js',
  './js/scrolling-navbar.js',
  './js/vendor/jquery.easing.js',
  './js/vendor/velocity.js',
  './js/vendor/chart.js',
  './js/vendor/wow.js',
  ... 30 more
];

编译正常,但是,当然,这些模块不会对这些模块产生任何影响。

我不知道如何一次性包含所有这些内容,因为它们看起来不像常规模块,因此我可以像 'import * from 'my-module'

那样导入

我还尝试了ES6方式:

import * as MDBootstrap from './mdb/modules';

但是我得到了相同的结果:成功编译,而没有将它们包含在已编译的js文件中。

这些“模块”的内容似乎不像我们在其中 export default {} 或其他一些函数或变量的普通模块。看起来像:

//mdb/js/scrolling-navbar.js
"use strict";

(function ($) {
   var SCROLLING_NAVBAR_OFFSET_TOP = 50;
   $(window).on('scroll', function () {
      var $navbar = $('.navbar');

      if ($navbar.length) {
         if ($navbar.offset().top > SCROLLING_NAVBAR_OFFSET_TOP) {
            $('.scrolling-navbar').addClass('top-nav-collapse');
         } else {
            $('.scrolling-navbar').removeClass('top-nav-collapse');
         }
      }
   });
})(jQuery);

我什至不熟悉 'exports.modules = [..]' 。我知道 'module.export = ...' ,但是这个 'exports' 看起来像是一个Node.js对象。

我知道还有另一种方法可以包含dist版本的插件。我也尝试过,但是遇到了一些错误: 'Identifier '_classCallCheck' has already been declared' 。我看上去更深入,发现实际上其中许多文件都在声明 '_classCallCheck' 函数,当然,它是一个重新声明的错误。也许我可以直接向他们参考这个特定错误( MDBootstrap )。

所以我在这里尝试在我的Laravel项目中包含并使用这些模块/文件,但没有成功。任何帮助表示赞赏。

0 个答案:

没有答案