2012-11-14 7 views
4

TypeScript에서 어떻게 보이는지 설명 할 수 있습니까? 수입을 통해 할 수 있습니까?Typescript가 필요합니다

JS :

var casper = require('casper').create({}) 

커피 스크립트 :

casper = require("casper").create() 

Visual Studio error: Error 1 The name ''casper'' does not exist in the current scope

답변

1

I Typescript와 함께 require.js를 사용하여 블로그를 작성했습니다.
http://blorkfish.wordpress.com/2012/10/23/typescript-organizing-your-code-with-amd-modules-and-require-js/ 이 같은 코드를 작성할 수있을 것입니다 : 그 캐스퍼 것은 자바 스크립트로 작성된 뭔가가

require["casper", (casper) => { 
    var item = casper.create(); 
}; 
+0

거대한 감사드립니다! –

+0

위의 clunky 구문을 사용하지 않고이 작업을 수행 할 수있는 방법이 있습니다. 내 대답은 아래를 참조하십시오 – brettjonesdev

6
import something = module('something'); 
var somevar = something.create({}); 

을 요점은 내가 TS 오늘이 떨어져 찍는 것을 허용하지 않는다는 것입니다 생각 여기에서주의해야 모듈 ('무언가')을 사용하면 2 진술.

+1

하나는 당신이 그것에 나를 이길! – Fenton

+1

두 분 모두에게 감사드립니다. D –

+0

@SteveFenton 제 질문을 편집했습니다. –

1

당신이 당신의 타이프 라이터를 컴파일 할 때 당신은 모듈 플래그를 사용하는 경우 :

--module commonjs 

또는

--module amd 

그것은 적절한 모듈로드 문으로 수입 변환합니다 :

import something = module('something'); 
var somevar = something.create(); 
+1

놀라운, 감사합니다! –

+1

내 질문을 편집했습니다. 어떻게 그것을 CasperJS와 함께 사용할 수 있습니까 –

+0

그걸로 작동합니다. 다른 모든 것이 실패 할 경우 JS 줄을 사용할 수 있습니다. (function require (name : string) : any;를 선언해야 할 수도 있습니다.) – Fenton

0

경우에, 당신은 너무 그것을 위해 모듈을 선언 (그렇지 않으면 컴파일되지 않습니다)가 필요합니다.

declare module casper { 
    export class SomeClassInCasper { 
    } 

    export function someFunctionInCasper(); 
} 

그리고 그 가져 오기/모듈 위의 상단에 casper.d.ts에 당신은 참조를 포함 할 것이다 :

은 규칙에 별도의 파일 이름 casper.d.ts 이러한 선언을 넣어 :

/// <reference path="casper.d.js" /> 

import casper = import("casper"); 
-1

TypeScript에서 Require를 사용하여 상당히 포괄적 인 게시물을 작성했습니다. 내 접근 방식은 못생긴 사용을 요구하지 않습니다.

require(['dependency'], function() { 

} 

구문입니다. 대신 TypeScript에서는 편리한 import x = module("x") 구문을 사용합니다.

+0

"치명적인 오류 : 알 수 없음 : 출력 버퍼링을 사용할 수 없습니다 디스플레이 핸들러를 알 수없는 0 번 라인에서 버퍼링합니다."SO가 오프라인 상태가 될 가능성이 적기 때문에 여기에 내용을 게시하십시오. – Flavius

관련 문제