2014-11-24 2 views
1

이 라이브러리를 Nodejs 응용 프로그램 https://github.com/SheetJS/j에서 사용할 수 있었지만 amd 모듈을 사용해야하는 새 프로젝트에서이 라이브러리를 사용할 수없는 것 같습니다. AMD와commonJS 대신 AMD 모듈 프로젝트에서 J 라이브러리 사용

///<reference path="../../node_modules/j/misc/j.d.ts"/> 
var Excel = <J>require('J'); 

최신 시도가 내가 노력하고 있어요 :

/// <amd-dependency path = "../../j/j" /> (the Library is in a different spot in this project) 
private run(){ 
    var Excel = require('../../j/j'); 
    var array = Excel.readFile("D:\\file.xls"); 
} 

오류 TS2095 : commonjs와

나는 할 수 있었다 '필요'기호를 찾을 수 없습니다. 이것은 내가 본 J 라이브러리가 수출에 대해 알고 있다고 생각하는 것을 기반으로하지만 잘못된 것일 수 있습니까?

///<reference path='misc/cfb.d.ts'/> 

interface Cell { 
    v; 
    w; 
    t: string; 
    f: string; 
    ixfe: number; 
} 

interface CellAddress { 
    c: number; 
    r: number; 
} 

interface CellRange { 
    s: CellAddress; 
    e: CellAddress; 
} 


interface Worksheet { 
    [key: string]: Cell; 
} 

interface Worksheets { 
    [key: string]: Worksheet; 
} 

interface Workbook { 
    SheetNames: string[]; 
    Sheets: Worksheets; 
} 

interface J { 
    parse_xlscfb(cfb:CFBContainer): Workbook; 
    read; 
    readFile(filename:string): any; 
    utils: { 
     encode_col(col:number): string; 
     encode_row(row:number): string; 
     encode_cell(cell:CellAddress): string; 
     encode_range; 
     decode_col(col:string): number; 
     decode_row(row:string): number; 
     split_cell(cell:string): string[]; 
     decode_cell(cell:string): CellAddress; 
     decode_range(cell:string): CellRange; 
     sheet_to_csv(worksheet:Worksheet): string; 
     get_formulae(worksheet:Worksheet): string[]; 
     make_csv(worksheet:Worksheet): string; 
     sheet_to_row_object_array(worksheet:Worksheet): Object[]; 
    }; 
    verbose: Number; 
    CFB: CFB; 
    main; 
} 

편집 시도 대답 : 당신이에서 j.d.ts을 받고 어디 이 d.ts의 정상에 모듈을 추가하는 시도

///<reference path='misc/cfb.d.ts'/> 

declare module 'J'{ 
    var j: J; 
    export = j; 
} 

답변

1

파일 편집이 https://www.youtube.com/watch?v=4AGQpv0MKsA

? 당신은 그것을 포함하도록 업데이트해야합니다 :

declare module 'J'{ 
    var j:J; 
    export = j; 
} 

그런 다음 당신이 할 수 있습니다

import Excel = require('J'); 

공지 사항 수입 대신 VAR. 이 방법으로 노드의 경우 --module commonjs으로 컴파일하고 requirejs의 경우 --module amd으로 컴파일 할 수 있습니다.

더 :이 포함 ​​된 라이브러리의 https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

+0

하나는 내가 그것을 조금 변경 생각 d.ts 있습니다. 나는 ur 제안을 시도 할 것이다 – Travis

+0

나는 d.ts를 배치했다 나는 아직도 흥미 롭다 나는 그것이 첫번째 장소에서 다만 작동하지 않은지 왜. 나는 당신에게 비디오를 보았고 다른 모듈이 호환되어야한다고 생각합니다. (감사) – Travis

관련 문제