【发布时间】:2017-02-27 01:34:41
【问题描述】:
我现在在一个项目中使用 Angular-meteor,我有一个关于使用 NPM 的问题。我正在使用一个特定的库(slick-carousel ......还有 angular-slick-carousel),当我通过 npm 安装它然后尝试在我的应用程序中使用它时,我在 modules.js 中定义了两次 jquery我假设是由流星放在一起的文件。所以我在 slick-carousel (完美)之前定义了一次 JQuery。然后在 slick-carousel 之后再次定义它,导致注册的 $.fn.slick 函数被清除。我认为它再次包含 jquery,因为 slick-carousel 节点包附带包含 jquery 的 node_modules 文件夹,导致它再次加载。
这会导致以下情况发生:
modules.js?hash=96df622…:14632 TypeError: slickness.not(...).slick is not a function
设置它的最简单方法是什么,以便 jQuery 只加载一次,并且在 slick-carousel 之前加载?我想有一种非常简单的方法可以让打包者知道这里的依赖顺序,但我对整个生态系统还是很陌生。
【问题讨论】:
-
当你说 modules.js 时,你是指 .meteor/packages 吗? Meteor 默认包含 jquery,Angular 也是如此。您很可能包含 2 个不同版本的 jquery,很可能是通过 node_modules/*/package.json 文件之一中的包依赖关系。如果软件包依赖于特定版本,您可以安装该版本,它可能会为您解决问题
标签: angularjs node.js meteor npm angular-meteor