3

如何将 jasny-bootstrap 导入到我的 ES6 类中?

ES6:

'use strict';

import $ from 'jquery';
import jasny from 'jasny-bootstrap';

class PushMenu {
    constructor() {
        this.slideShown = false;
        $('.navmenu').on('shown.bs.offcanvas', () => {
            this.slideShown = true;
        });
    }
}

当我尝试用 gulp 编译它时出现错误:

{ Error: Cannot find module 'jasny-bootstrap' from '/var/www/my-project/js'

我确定我已经在其 npm 页面之后使用 npm 安装了它:

npm install jasny-bootstrap

任何想法为什么以及如何解决这个问题?

编辑:

我设法使用完整路径手动加载它:

import jasny from '../node_modules/jasny-bootstrap/dist/js/jasny-bootstrap';

但它在没有错误提示的情况下不起作用

编辑2:

我试图用以下方法粘合它:

jQueryBridget('jasny', Jasny, $); 

但仍然没有运气。错误:

未捕获的类型错误:无法读取未定义的属性“选项”

整个代码:

'use strict';

import $ from 'jquery';
import bootstrap from 'bootstrap';
import Jasny from '../node_modules/jasny-bootstrap/dist/js/jasny-bootstrap.js';
import jQueryBridget from 'jquery-bridget';

jQueryBridget('jasny', Jasny, $);

class PushMenu {
    constructor() {
        this.slideShown = false;
        $('.navmenu').on('shown.bs.offcanvas', () => {
            this.slideShown = true;
        });
    }
}
4

1 回答 1

0

它不适用于 ES6 import,但适用于:

<script src="vendor/jasny-bootstrap/jasny-bootstrap.js"></script>

然后不导入它:

class PushMenu {
    constructor() {
        this.slideShown = false;
        $('.navmenu').on('shown.bs.offcanvas', () => {
            this.slideShown = true;
        });
    }
}

不理想。

于 2016-10-10T06:30:46.303 回答