有人可以解释一下这在 TypeScript 中的外观吗?可以通过进口来完成吗?
JS:
var casper = require('casper').create({})
咖啡脚本:
casper = require("casper").create()
Visual Studio 错误:错误 1 当前范围内不存在名称“casper”
有人可以解释一下这在 TypeScript 中的外观吗?可以通过进口来完成吗?
JS:
var casper = require('casper').create({})
咖啡脚本:
casper = require("casper").create()
Visual Studio 错误:错误 1 当前范围内不存在名称“casper”
import something = module('something');
var somevar = something.create({});
我认为这里要注意的一点是,今天的 TS 不允许对 module('something') 进行打点,所以你必须将你的陈述分成两部分。
我整理了一篇关于使用 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();
};
如果在编译 TypeScript 时使用模块标志:
--module commonjs
或者
--module amd
它将导入转换为适当的模块加载语句:
import something = module('something');
var somevar = something.create();
如果那个 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");
casper 通过 npm 在全局范围内安装。
在这里可以看到一个带有打字稿的简短 casper:
https://medium.com/@guyavraham/smoke-tests-casper-js-with-typescript-8b01b504f3a4
我写了一篇关于在 TypeScript 中使用 Require 的相当全面的文章。我的方法不需要你使用丑陋的
require(['dependency'], function() {
}
句法。相反,在 TypeScript 中,您可以使用方便的import x = module("x")
语法。