2016-06-25 6 views
2

Dragula 타사 구성 요소를 추가하고자하는 각도 2 CLI 프로젝트가 있습니다. 나는 NPM 모듈을 설치하고 구성 요소를 선택하고 그래서 같이 /dist 폴더에 배치 할 angular-cli-build.js 구성 :Angular 2 dragula 구성

vendorNpmFiles: [ 
    'systemjs/dist/system-polyfills.js', 
    'systemjs/dist/system.src.js', 
    'zone.js/dist/**/*.+(js|js.map)', 
    'es6-shim/es6-shim.js', 
    'reflect-metadata/**/*.+(js|js.map)', 
    'rxjs/**/*.+(js|js.map)', 
    '@angular/**/*.+(js|js.map)', 
    'ng2-dragula/**/*.+(js|js.map|d.ts)' 
] 

이 작동하고 구축 할 때 파일이 복사됩니다. 나는과 같이 가져 오기에 모듈을 참조 : 비주얼 스튜디오 코드가 참조를 찾을 것으로 보인다 이후

import {Dragula,DragulaService} from 'ng2-dragula/ng2-dragula'; 

이 또한 올바른 것 같다.

문제는 system-config.ts에있는 것 같습니다. 여기에 내가 매핑 추가

const map: any = { 
    'ng2-dragula': 'vendor/ng2-dragula' 
}; 

을하지만 시작할 때, 나는 404 오류를 보여주는 얻을 :

zone.js : 101 http://localhost:4200/vendor/ng2-dragula/ng2-dragula (찾을 수 없음) (404)

을 GET을 나는 '패키지'에 defaultExtension을 추가하려고 시도했지만 링크 끝에 추가로 'ng2-dragula.js'만 추가합니다.

위치의 내용 '.../벤더/NG2-dragula /'이다

  • NG2-dragula.js
  • NG2-dragula.d.ts

내가 뭘 놓치고 있니? 이 경로가 형식 정의 파일을 선택하지 않아야합니까?

요아킴

답변

0

당신이 dragula 경로를 추가 한 도움을

덕분?

paths: { 
     'dragula': 'node_modules/dragula/dist/dragula.js', 
     'ng2-dragula/*': 'node_modules/ng2-dragula/ng2-dragula.js', 

이 정보가 도움이되는지 확인하십시오.

+0

나는 이것을 시도했지만 같은 결과를 얻었습니다. 실제로 system.js의 설명서는 다음과 같이 말합니다. "정규화 된 모듈 이름을 엄격하게 제어해야하는 경우가 아니면 일반적으로 경로를 통해 맵 구성을 사용하는 것이 좋습니다." 이렇게 보입니다 : 하나 또는 다른 것 .... – user6511669

+0

몇 가지를 확인하십시오 : 1. package.json에서 "dragula"의 종속성을 모두 사용하고 있습니까 : "^ 3.7.0", "ng2-dragula": "^1.1.9 ", 2. 구성 요소 - 지시어 : [Dragula], viewProviders : [DragulaService], – Sanket

+0

예, 둘 다 있습니다. – user6511669