2016-12-08 1 views
2

요즘 Ionic1 프로젝트를 Ionic2으로 마이그레이션하고 있습니다. 장난! 지금 장애물 중 하나는 JS에 작성된 긴 도구 목록 (예 : CmToFeet/InchesToCM/FarenheitToCelsius)을 Ionic2 프로젝트로 마이그레이션하는 것입니다. 프로젝트에 이러한 파일을 올바르게 포함하는 방법을 모르며 빌드 프로세스에서이 파일을 고려해야합니다. index.html에 포함시킬 수 있으며 자동으로 사용할 수 있습니까? 더 많은 일을해야합니까? 팁이 있습니까?JS 도구로 입력하십시오.

+0

내 이해에서, 새로 만든 ionic2 프로젝트로 ionic1 프로젝트를 복제하는 것이 더 빠르고 더 쉬울 것이고 벽에 뛰어 들지 않아도됩니다. Coz from ionic1 -> ionic2 그것의 거대한 구조 변화와 혼합에 타이프 스크립트를 추가 할 때 악화됩니다. 하지만 그게 내게있을 수 있습니다 :) – sameera207

+1

하지만 이것은 그의 질문과는 아무런 관련이 없습니다.) 외부 자바 스크립트를 포함하려면'index.html'에 그냥 넣고, 특정 회원을 내보내는 경우에는 아래에 선언 할 수 있습니다. 'import ... '하지만 당신의'@ Component'보다'declare var CmToFeet : any;'예를 들어 – Ivaro18

+0

@ sameera207 - 모든 TS 물건들을 피하게되어 기쁠 것입니다. 그러나 native ionic2 기능이 훨씬 낫습니다. 예, 프로젝트를 복제하고 있지만 도구 라이브러리는 계속 유지하려고합니다. –

답변

1

가장 쉬운 방법 중 하나는 다른 자산처럼 으로 처리하는 것입니다. 이렇게하려면, 당신은 src/assets/scripts에 폴더를 만들고 거기에 그 JS에게 파일을 넣어 다음과 같이 당신의 index.html 파일에 스크립트 태그를 추가 할 수 있습니다

<script src="assets/scripts/jsFileName.js"></script> 

당신이 CmToFeet.methodName() 같은 작업을 수행하여 그 함수를 호출하는 데 사용되는 경우, 이 같은 일을하여 해당 통지하십시오 지금 당신은이 유형 any의 선언 이후, 자동 완성 기능이 작동하지 않습니다 타이프 라이터 오류

import {... } from '...'; 

declare var CmToFeet: any; // <- Like this 

@Component({ 
    selector:'my-page', 
    templateUrl: 'my-page.html', 
}) 
export class MyPage { 

    // ... 

} 

을 방지하기 위해 CmToFeet 변수를 선언해야합니다.

+0

알겠습니다. 이해합니다. 이렇게하면 빌드 프로세스에 자동으로 추가됩니다. JS 파일은 기능이없는 루즈 한 콜렉션이며 구조는 없습니다. 그러므로 나는 그것들을'cmToFeet()'또는'feetToCM()'이라고 부르고 있는데,'ModuleName'의 선두는 없습니다. –

+1

고마워요. –

+0

들으니 다행 :) – sebaferreras