要求打字稿

时间:2012-11-14 19:05:30

标签: javascript typescript

有人可以解释一下TypeScript中的外观吗?可以通过进口来完成吗?

JS:

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

CoffeeScript的:

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

Visual Studio错误:错误1当前范围中不存在名称“'casper'”

6 个答案:

答案 0 :(得分:7)

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

这里需要注意的是,我认为今天的TS不允许点击模块('某事')所以你必须将你的陈述分成两部分。

答案 1 :(得分:1)

如果在编译TypeScript时使用模块标志:

--module commonjs

或者

--module amd

它会将导入转换为适当的模块加载语句:

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

答案 2 :(得分:1)

我整理了一篇关于使用require.js和Typescript的博客 http://blorkfish.wordpress.com/2012/10/23/typescript-organizing-your-code-with-amd-modules-and-require-js/ 您将能够编写如下代码:

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

答案 3 :(得分: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");

答案 4 :(得分:0)

casper通过npm安装在全局范围内。

  1. typings install dt~casperjs --global --save
  2. 声明var casper; (在你的代码上)
  3. 带有打字稿的短篇小说如何在这里看到:

    https://medium.com/@guyavraham/smoke-tests-casper-js-with-typescript-8b01b504f3a4

答案 5 :(得分:-1)

我写了一篇关于在TypeScript中使用Require的相当全面的文章。我的方法不要求你使用丑陋的

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

}

语法。相反,在TypeScript中,您可以使用方便的import x = module("x")语法。