这里已经提出了如何生成具有类型定义的库的问题: Generate declaration file with single module in TypeScript 答案是您只需要在tsconfig.json中将“声明”设置为true。 我已经在这个github库中放入了一个简单的example_library和example_library_consumer项目: https://github.com/jmc420/typescript_examples https://github.com/jmc420/typescript_examples/tree/master/example_li
我有一堂课:
export class Page {
get page() {
return $('#page');
}
open(path: string): void {
browser.url(path);
this.page.waitForDisplayed();
}
}
Eslint抛出警告:warning Missing return type on function @typescript-eslint/explicit-module-boundary-types表示getter get pag
Foo.ts的内容:
let a: Person = new Person();
Bar.ts的内容:
class Person {}
tsconfig.json文件包含由tsc --init创建的默认值集。
我使用的是typescript版本2.6.2。
上面的代码只是简单地编译,没有关于未定义Person的错误。如果我在foo.ts中将Person重命名为Persons,那么它确实抛出了一个错误消息cannot find name 'Persons'。所以它就像是在以某种方式自动导入这个文件。
还要注意,我没有在bar.ts中导出Person类。如果我确实添加了一个expo
我使用node.js,最近我决定尝试一下TypeScript,但我对如何导入模块感到有点困惑。我看到了两种不同的语法,我找不到它们的确切区别:
import * as a from 'a'; // ES6 standard to import stuff
// OR ...
import a = require('a');
这是同一件事吗?如果它们不是,我应该在哪里使用它们呢?
我正在进行项目,我们正在使用Stripe库来实现Node。我们还想在这个项目上使用TypeScript。
我发现Stripe并没有提供正式的TypeScript定义,但我在NPM上找到了一些社区定义。所以我安装了它们,过了一段时间,我得到了一个错误:Property 'sources' does not exist on type 'Stripe'.
这里缺少一些定义,例如这个的定义。
我想在本地添加缺失的定义。所以我需要扩展这个文件:
我认为对于上述问题,我需要:
若要将属性sources: Stripe.resources.Sources;添加到Stri
当我尝试导入一些用jspm配置的库时,我有一个不理解的行为。
有些工作起来很完美,就像
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import {FlatButton} from 'material-ui';
但其他人根本不是这样:
import {FormControls} from 'react-bootstrap'
import {somethng} from 'react-toolbox'`
import
我没有找到在TypeScript中轻松导出类实例的方法。为了生成正确的javascript代码,我必须想出以下解决办法。
var expo = new Logger("default");
export = expo;
生成
var expo = new Logger("default");
module.exports = expo;
有更容易的方法来实现这一点吗?
我目前正在尝试开始将一个Javascript的项目转换为Typescript的过程,这样一切都可以很好地输入。然而,我的配置似乎无法识别我已更改为Typescript的文件。
项目编译完成,但我在运行时得到以下错误:
TypeError: Angle.cyclic3dAxis is not a function
Angle是我用Typescript重写的(以前的Javascript)文件,由两个小的静态函数组成,格式如下:
export class Angle
{
public static cyclic3dAxis(i: number): number{ /* function de
我是TypeScript的新手,目前正在使用Knex在我们的PostgreSQL数据库中构建一个模板表。在这个文件和其他文件上,我不断遇到与TypeScript相同的问题,代码如下:
import * as Knex from 'knex';
exports.up = async (knex: Knex): Promise<void> => {
await knex.schema.raw(`
CREATE TABLE test (
test TEXT NOT NULL,
tes2 INTEGER NOT N
我将TypeScript转换为ES2015 (因为我需要异步,等待),然后将ES2015转换为Node4支持的ES2015 (Node4与ES2015不完全兼容)。
问题是express的TypeScript定义不包含default字段。但是这个字段实际上存在于Javascript代码中。(实际上express只是一个例子,例如在许多其他库bluebird中都存在问题)
因此,如果我导入import {default as express} from "express";,则会出现编译TypeScript错误。如果作为import * as express from "
当您将import与declare语句组合在一起时,Typescript编译器的工作方式与预期不同。 例如:我们有包含内容的class.d.ts文件 declare class ModuleClass {} 和文件main.ts new ModuleClass() 在这种情况下,typescript可以毫无错误地转换所有内容。 但是如果我像这样在class.d.ts中添加import语句: import * as react from "react"
declare class ModuleClass {} 在这种情况下,typescript将失败,并显示下一个错误: sr
我使用的是来自npm的包,假设是foo。这个包有一个嵌入的定义文件node_modules/foo/index.ts.d。但是,此文件中缺少导出。因此,typescript不让我编译,给了我错误:Module '.../foo' has no exported member 'Bar'.
如何扩充、替换或修复foo包的定义?