2016-06-15 3 views
0

를 내가 해결하기 위해 노력하고 문제가 아래에 표시 출력에 표시됩니다 : 나는 MyObject을 테스트하기 위해 시도하고단위 테스트 PhantomJS 오류 : 변수를 찾을 수 없습니다 Dexie

15 06 2016 11:11:16.532:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/ 
15 06 2016 11:11:16.532:INFO [launcher]: Starting browser PhantomJS 
15 06 2016 11:11:18.004:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket /#3nWVSRqI9N9XmHSCAAAA with id 41039744 
PhantomJS 2.1.1 (Windows 8 0.0.0) ERROR 
    Error: Can't find variable: Dexie 
    Error loading C:/My/My.App/src/My.App.Web/test/case/MyObjectTest.js 
[11:11:18] Finished 'test' after 2.8 s 

. 그것은 의존 구조는 다음과 같습니다있다 : 즉

MyObject 
    - MyObjectDependency 
     - MyObjectDependency_Dependency 
      - Dexie 

는 MyObject를 마지막으로 Dexie에 따라 MyObjectDependency_Dependency에 따라 MyObjectDependency에 따라 달라집니다.

저는 TypeScript에서 Aurelia 웹 앱을 쓰고 있습니다. jspm을 통해 Dexie 라이브러리 (indexedDB wrapper)를 포함 시켰습니다. 앱을 빌드/실행하려면 jspm_packages 폴더의 dexie.js를 스크립트 태그를 사용하여 index.html에 명시 적으로 포함시켜야했습니다.

Dexie를 SystemJS를 사용하여로드하려고했으나 실패합니다.

위의 출력에 설명 된 오류를 해결하지 못한 dexie.js를 명시 적으로 포함하도록 카르마 구성을 업데이트하려고했습니다.

또한 도움이되지 않는 여러 구성 요소의 버전을 업데이트하려고 시도했습니다.

노드 : 4.4.4

니혼 전자 : JSPM : 0.16.15

SystemJS : 0.19.6

여기

는 주요 구성 요소 내가 사용의 버전입니다

팬텀 JS : 2.1.7

카르마 : 0.13.22

Dexie : 나는 막 다른 골목에 도달했습니다 1.3.6

. 나는 어디에서보아야할지 모르겠다.

추가 정보가 필요하면 알려주세요. 가능한 한 기꺼이 추가해 드리겠습니다.

내 추측은 당신이 제대로 포함하지 않을 것입니다, 자세한 내용없이 당신

+0

Chrome에서 http : // localhost : 9876/debug.html을 열어 디버깅을 시도 했습니까? – alexeibs

답변

0

나는 매튜 제임스 데이비스와 alexeibs의 도움으로 해결책을 발견했다. 둘 다 대단히 감사합니다!

Matthew는 내가 dexie를 잘못 가져 왔으며 PhantomJS가 아닌 Chrome에서 alexeibs 제안 및 테스트를 수행하여 정확한 위치를 찾을 수있었습니다.

Dexie 패키지와 함께 제공되는 * .d.ts 파일이 VS2015에 인식되지 않는 것 같습니다. 제가 지금 당장 해결해야 할 문제입니다. 내 자신의 * .dts 파일을 custom_typings 모듈에 'dexie'를 명시 적으로 지정하여 추가했습니다.

내가 Dexie에서 정의 파일을 복사에

export default Dexie; 

에서 마지막 줄을 변경 : dexie.d.ts의이 버전

declare module "dexie" { 
    export default Dexie; 
} 

, VS2015 가져 오기에 지금 행복하다 Dexie 문서가 지원하는 진술 :

import Dexie from 'dexie'.

const Promise = Dexie.Promise; // KEEP! (or loose transaction safety in await calls!) 
const all = Promise.all; 

모든 지역 내가 dexie를 가져 오지 않았기 때문에이 파괴되었다 있었다 : Dexie 문서, 선에 의해 제안 내 Dexie 테이블 클래스의 생성 동안

, 나는 덧붙였다.

형식 정의를 만들면이 파일에 가져 오기 import Dexie from 'dexie'을 추가하기 만하면 결국 문제가 해결됩니다.

0

I tried to get Dexie to be loading using SystemJS (like it should) but, it fails.

감사드립니다.

import 'dexie'; 

여기 좀 더 자세한 정보를 보려면 답변을보십시오.

Would it be possible to use JQuery Bootstrap framework along with Aurelia?

+0

고맙습니다. @ 매튜. 이 방법을 사용하면 웹 응용 프로그램의 빌드/실행을 해결할 수 있습니다. 문제는 내가 테스트하려고 할 때 원래 질문에서 설명한 오류가 계속 발생합니다. 도움이 될만한 질문이 있으면 구성을 포함하도록 업데이트 할 수 있습니다. – metaomniliquant

관련 문제