6

誰かがこれが TypeScript でどのように見えるか説明できますか? インポートを介して行うことはできますか?

JS:

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

コーヒースクリプト:

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

Visual Studio エラー:エラー 1 名前 ''casper'' は現在のスコープに存在しません

4

6 に答える 6

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

ここで注意すべき点は、今日のTSではモジュール(「何か」)のドットオフが許可されていないため、ステートメントを2つに分割する必要があるということです。

于 2012-11-14T19:27:23.147 に答える
2

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();
};
于 2012-11-15T01:05:27.193 に答える
1

TypeScriptをコンパイルするときにモジュールフラグを使用する場合:

--module commonjs

または

--module amd

インポートを適切なモジュールロードステートメントに変換します。

import something = module('something');
var somevar = something.create();
于 2012-11-14T19:28:46.307 に答える
0

その casper が JavaScript で書かれたものである場合は、そのためのモジュールも宣言する必要があります (そうしないとコンパイルされません)。

慣例により、そのような宣言は casper.d.ts という名前の別のファイルに入れます。

declare module casper {
    export class SomeClassInCasper {
    }

    export function someFunctionInCasper();
}

そして、インポート/モジュールの上の上部にその casper.d.ts への参照を含めます。

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

import casper = import("casper");
于 2012-11-16T11:39:14.537 に答える
-1

TypeScript での Require の使用に関するかなり包括的な記事を書きました。私のアプローチでは、醜いものを使用する必要はありません

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

}

構文。代わりに、TypeScript では便利なimport x = module("x")構文を使用できます。

于 2013-01-16T16:58:33.657 に答える