我已经安装了jscrollpane节点模块:
$npm install --save-dev jscrollpane

我还安装了ember-browserify,因此我可以按照this article将npm模块导入我的ember组件。
我将模块导入我的组件:
import Jscrollpane from 'npm:jscrollpane';

找到该模块,但我收到此错误:
错误:无法找到模块' jquery'来自' / Users / username / my-app / node_modules / jscrollpane / script'
我已阅读this article,建议将jQuery添加到相关的npm模块(在本例中为 my-app / node_modules / jscrollpane / script。)。
将一个额外的jQuery副本添加到节点模块目录似乎是不合适的 - 是否有更好的方法让节点模块知道在哪里可以找到它的核心Ember cli版本?
答案 0 :(得分:0)
我认为jScrollPane正在尝试解析通过AMD(https://github.com/aibarra988/jScrollPane/blob/master/script/jquery.jscrollpane.js#L68-L73)加载的jQuery副本。 ember-cli使用一个自定义解析器,它没有在全局范围内暴露jQuery。默认情况下,ember.js在Ember.$
下包含jQuery。
关于解决方案的快速想法:
Ember.$
公开给jquery
的垫片,正如jScrollPane默认预期的那样ember-cli-build.js
(不是"最好的"但它有效)vendor
目录中嵌入该文件的修改版本,并使用ember-cli-build.js
导入该文件。例如app.import('vendor/js/something.jquery.js');
如果你想以正确的方式做到这一点",我建议你松懈地询问:https://embercommunity.slack.com/messages/-ember-cli/ 答案 1 :(得分:0)
我发现Ember Perfect Scrollbar与jScrollpane完全相同,但与Ember完美配合。