2016-10-17 3 views
0

현재 프로젝트에 Angular-Meteor를 사용하고 있으며 NPM 사용에 대한 질문이 있습니다. 특정 라이브러리 (slick-carousel ... 및 angle-slick-carousel)를 사용하고 있는데 npm을 통해 설치 한 다음 내 응용 프로그램에서 사용하려고하면 jquery가 내 modules.js에 두 번 정의됩니다. 유성에 의해 조립 된 파일이라고 가정합니다. 따라서 JQuery는 매끄러운 컨베이어 (한 번) 전에 한 번 정의됩니다. 그런 다음 slick-carousel 이후에 다시 정의되어 등록 된 $ .fn.slick 함수가 지워집니다. slack-carousel 노드 패키지에는 jquery를 포함하는 node_modules 폴더가 포함되어 있기 때문에 jquery를 다시 포함한다고 생각합니다. 다시로드해야합니다.각도 유성 매끄러운 캐 러셀 때문에 JQuery가 두 번로드됩니다.

이 다음과 같은 일이 발생합니다

modules.js?hash=96df622…:14632 TypeError: slickness.not(...).slick is not a function

무엇 jQuery를 한 번만로드되는 있도록이를 설정하는 가장 쉬운 방법은, 그리고 매끄러운 회전 목마 전에? 포장 업체에게 여기에 의존 순서를 알리는 아주 쉬운 방법이 있다고 상상해 봅니다. 그러나 저는 여전히 전체 생태계에 대해 아주 새롭습니다.

+0

modules.js라고 할 때 .meteor/packages를 의미합니까? 유성은 Angular와 마찬가지로 기본적으로 jquery를 포함합니다. 2 개의 서로 다른 버전의 jquery를 포함 할 가능성이 매우 높습니다. 대부분의 경우 node_modules/*/package.json 파일 중 하나에 패키지 의존성을 통해 발생합니다. 패키지가 특정 버전에 대한 종속성이있는 경우 해당 버전을 설치할 수 있으며 문제가 해결 될 수 있습니다 – Mikkel

답변

0

전체 슬릭 - 캐 러셀 종속성을 가져 오기보다는 필요한 파일 만 가져 오기하십시오.

예 : import "slick-carousel/slick/slick.css"; 및 import "slick-carousel/slick/slick.js";

중복 jquery 파일을 포함하는 매끄러운 회전 목마의 node_modules 디렉토리를 가져 오지 마십시오.