아메리카노가 그렇게 맛있답니다 여러분

한동안 글을 안 올려서 그렇지, 앵귤러도 그렇고 안드로이드도 그렇고, 그리고 요즘 새로 시작한 블록체인도 그렇고 많은 개발이 있었습니다.

이번에 시작한 프로젝트 중에서 3D프린트 관련된 웹 프로젝트가 있는데 이걸 구현하던 중에 발생한 문제입니다.

자바에서의 POJO처럼, 시점을 받을 플레이어를 POJO처럼 타입스크립트로 만들고 있었는데 scene에서 떼낸 코드가 Player.ts에서 전혀 동작하지 않았습니다. 생성자에서 alert로 로그를 찍어봐도 전혀 안 뜨는 기묘한 상황.

문제가 무엇인지 한참 헤매다가 여러 다른 테스트 클래스를 만들어보았고, 그 결과 내가 만든 Player.ts만 동작하지 않았습니다.

무엇이 문제인가 처음부터 끝까지 슥 훑어보다가 찾은 문제점은 import 문제였습니다.

사실 원인이 import였던 것만 알았지, 지금도 왜 이 문제가 동작하지 않는지는 모르겠습니다. 다른 ts에서 사용한 import를 그대로 떼온 것이라.


import * as BABYLON from 'babylonjs';


이 부분이 문제였고 제거하니까 올바르게 동작했습니다.

'프레임워크 > Angular(앵귤러)' 카테고리의 다른 글

Angular4 개발환경 설정(Windows/Ubuntu)  (0) 2017.10.14

안드로이드에 다이얼로그를 만들 때 발생한 예외인데 Context를 getApplicationContext()가 아닌 액티비티명.this로 전달하면 해결된다.


해당 오류가 난 경우에는 두 가지 방법을 실행하면 해결됐다.

경우에 따라 1번이나 2번만 해도 해결될 수 있으므로 둘 다 실행한 뒤 결과를 보지 말고 1번 실행 후 안됐다면 2번 방법까지 실행하는 것을 권장한다.


1. 상단 Build에서 clean Project 후 rebuild Project


해당 프로젝트를 다시 빌드하는 것인데 본인은 이전에 만들어놓은 프로젝트를 다른 컴퓨터에 옮길 때 이 방법으로 해결했다. SDK나 기타 요소들이 기존 컴퓨터와는 위치가 다르다보니 현재 컴퓨터에 맞게 다시 빌드해야 되는 것이라 추측한다



2. AVD Manager -> wipe data


이 방법은 안드로이드 에뮬레이터에 있는 정보를 지우는 것으로 동일명의 다른 안드로이드 앱이 있거나 하는 등의 에뮬레이터가 해당 앱을 받아들이지 못할 때 동작했다. 이 방법을 쓰면 에뮬레이터를 초기화하는 것과 다름 없으니 앱 내 데이터가 중요하거나 설치된 앱들이 지워지지 않아야 한다면 실행하지 않는 것이 좋다.