【发布时间】:2017-02-18 10:47:35
【问题描述】:
如何将 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'
我确定我已经在its npm page 之后使用 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;
});
}
}
【问题讨论】:
-
如果你进入那个文件夹,它真的存在吗?如果您在导入中声明了完整路径怎么办?
import jasny from '/full-path' -
does it truly exist if you go into that folder?是的,它在node_modules文件夹中。 -
在关于砌体的另一个问题之后,您现在必须了解,仅导入依赖项不会使其自动与 jquery 实例一起使用。两者之间应该有一些胶水层。 PS:不,我不知道,我从未使用过 jasny 或砖石。有可能还没有人实现它 - 所以这是你为开源做出贡献的机会:-)
-
@zerkms 我尝试将它与
jQueryBridget('jasny', Jasny, $);粘合,但仍然没有成功。 -
不确定
Jasny指的是什么,您的代码中没有这样的变量。提供您最后一次尝试的完整代码。此外,我不知道所有这些库如何在内部工作,jasny有可能与jQueryBridget根本不兼容。在这种情况下,您需要jasny开发人员的帮助或自行使其兼容。
标签: node.js twitter-bootstrap gulp ecmascript-6 jasny-bootstrap