TypeScript:引用resig';s延伸

我试图引用使用Resig的“extend”的现有代码,但是我得到了一堆错误 ------test.ts-------- 错误: Supplied parameters do not match any signature of call target The name 'Class' does not exist in the current scope The property 'extend' does not exist on value of type '() => void' T

Typescript 如何在其他文件中使用模块?

我正在努力处理其他文件中的TypeScript模块。让我解释一下 我有一个文件ModuleOne.ts,其中包含: module Messages { export var TestAlert: string = "It works!"; } 然后在我的app.ts中,我有: /// <reference path="Scripts/typings/jquery/jquery.d.ts" /> /// <reference path="ModuleOne.ts" /&

Typescript 关于*。d、 ts";打字

我对*.d.ts感到好奇,因为我是打字新手。有人告诉我,这种文件在C++中类似于“头文件”,但只适用于JS。但是我无法将纯JS文件转换为*.d.ts文件,除非我强制将*.JS更改为*.ts。所以我有三个文件: JS文件、TS文件和*.d.TS文件 他们之间有什么关系 如何使用*.d.ts文件?这是否意味着我可以永久删除*.ts文件 如果是这样,那么*.d.ts文件如何知道哪个JS文件正在映射到自身 如果有人能给我举个例子,那就太好了。这个“d.ts”文件用来提供关于用JavaScript编写

Typescript 返回另一个函数的函数的返回类型是什么

我正在使用Typescript开发量角器测试。可用于量角器的d.ts文件似乎已非常过时。我正在尝试更新它,以包括量角器的预期条件 总而言之,预期条件是量角器中的一组函数,它们返回一个函数,该函数返回对您的值的承诺 用法示例: protractor.ExpectedCondtions.visibilityOf(element(by.id('button1')))(); 如何告诉量角器我正在返回一个将返回特定返回类型的函数,这让我感到困惑。有人对此有经验吗?如果我理解正确,您的解决方案将取决于“s

Typescript 角度2-共享服务的实现

我正在尝试实现一个在堆栈溢出中找到的解决方案,但面临困难。我有一个服务和一个组件,但在实现上有些不正确 错误:TypeError:无法读取未定义的属性“next” 可能有什么问题或遗漏了什么?还缺什么吗? 同样在我的终端窗口中,我得到了这个错误,但它并没有反映在我的浏览器控制台上:错误TS1005:“=>”预期 import {Injectable} from 'angular2/core'; import {Observable} from 'rxjs/Observable'; import

Typescript,是否可以将方法添加到外部类原型?

比如说,我想将方法添加到NgForm(类) 这在typescript中是可能的吗 我知道: 但它只适用于接口,而不适用于类 在Angular和TypeScript中,您通常使用继承,如 export class MyForm extends NgForm { ... } 并注册自定义类以在整个应用程序中使用,而不是原始类 bootstrap(AppComponent, [FORM_PROVIDERS, FORM_DIRECTIVES, provide(NgForm, { useC

Typescript 如何声明两个不可分配的类型?

我有一个FFI绑定,有几个地方使用了void*。我想区分一下打字稿方面的内容。我所做的是: interface Struct1Ptr extends Buffer {}; interface Struct2Ptr extends Buffer {}; var x: Struct1Ptr; var y: Struct2Ptr; 我想使这些类型不可分配,这样当我尝试分配x=y或y=x或使用错误的类型作为函数的参数时,就会发出错误信号。Typescript对所有内容都使用结构化类型,因此实际上必须使

typescript中的JointJS事件处理程序

我正在尝试在typescript中为jointjs文件添加事件处理程序,但没有找到一种使用jointjs定义文件实现它的方法 private paper = new joint.dia.Paper({ el: $('#paper'), width: 650, height: 400, gridSize: 20, model: this.graph, markAvailable:

Typescript 在angular2中实现日期选择器的最简单方法?

我不熟悉angular2字体。我正在尝试实现datepicker。我尝试了很多,但要么是我在实施中弄错了,要么是那些已经过时了 我的种子项目没有@NgModule。如果您被困在NgModule上,那么不要尝试实现日期选择器,因为这是一项非常艰巨的任务。学习Angular的基础知识,从Angular cli开始,并使用ng引导,例如,它提供可重用组件,如日期选择器。如果您的项目没有app.module.ts,并且您的文件中没有NgModule,那么您的应用程序已经过时,并且不能选择使用angula

Typescript 从字符串中提取多个{fieldName}以创建值哈希映射

我在打字脚本中得到了一个简单的情况 我有一个模型,里面有一些字符串 比如说 let message = 'Updated user {userName}. Set new name {newName} instead of old {oldName}.' 当前,这些字段的实际值存储在this.fields属性中 我们正在进行内联替换以返回“已填充”的消息文本。使用类似于: replaceFields(message): string { return Object.keys(this.

Typescript Intellisense不适用于.vue文件

我正在Visual Studio代码和Vetur扩展中使用Vue和Typescript。问题是:当我更新任何代码时,intellisense在.vue文件中工作时无法识别更改。在.ts文件中,intellisense正在工作 我使用此定义文件,以便typescript识别.vue文件扩展名: declare module "*.vue" { import Vue from "vue"; export default Vue; } 范例 test.ts刚刚更改 export de

Typescript:数字| ArrayBuffer的函数重载解析

在尝试集成到我们的项目中时,我遇到了一个类型错误,可以归结为以下几点: 这将导致以下编译错误: “number | ArrayBuffer”类型的参数不能分配给“ArrayBuffer”类型的参数。类型“number”不可分配给类型“ArrayBuffer” 据我所知,这应该是有效的代码,但我不能完全确定我是否在TS中遇到了错误,输入错误,或者错误到底是在我这边。有什么建议吗 发生这种情况是因为。这两个重载都与第二个参数的number | ArrayBuffer类型不匹配,并且编译器不理解这对重

Typescript 参数隐式具有一个';任何';类型

我正在为一个typescript项目使用VisualStudio代码,其中我使用了一些第三方npm js库。其中一些不提供任何ts类型(types.d.ts文件),因此每当我使用参数或变量而不指定其类型时,vs代码的linting显示此错误:参数隐式地具有“any”类型。 而且,ts不会编译 如何防止这种情况发生?首先,要使typescript容忍参数而不声明其类型,请编辑tsconfig.json // disable this rule: // "strict": true, // ena

Typescript 如何检查是否定义了可选参数

这是我用来检查函数是否提供了body属性的方法 在TypeScript中有没有更简单的方法 httpAPI<T>(httpMethod: HttpMethod, url: string, optional?: { params?: HttpParams, body?: any, isUseCache?:boolean }): Observable<T> { const body: any = optional === undefined || optional

TypeScript表示错误函数

在Typescript中编码时,错误处理函数的四个参数的类型是什么 app.use((err: ??, req: ??, res: ??, next: ??) => { }); 我使用的是VS代码,没有提供任何提示。我在所有四个参数下都得到了红色的摆动线 错误为“参数隐式具有'any'类型”。事实上,我对这条信息感到困惑。如果它将其视为any类型,那么这不是一个有效的选择吗?函数本身具有以下签名(取自): 因此,您可以将函数声明为ErrorRequestHandler类型的变量,也可以根

Typescript泛型和类属性

我目前正在React项目中使用Typescript,希望使用类属性来设置初始状态,但在使用未定义的值和严格的空检查时遇到了一些问题。这里是我的问题的最小重构,没有任何特定于React的代码来演示我的问题 class Component<T> { state: T; } interface Foo { bar: number | undefined } class Test extends Component<Foo> { state = {

Typescript TestCafe默认与命名类

查看TestCafe的页面对象模型,我注意到所有类都标记为default,而不是典型的命名类 我想知道这背后的原因是什么,它是否有助于测试控制器的通过和浏览器操作的排队 TestCafe允许您避免显式地将测试控制器传递给方法。相反,您可以将t导入页面模型文件 我想避免像建议的那样使用默认类,但我想知道TestCafe的具体权衡。谢谢。对于TestCafe,不需要使用默认的关键字。此外,它不会影响测试通过或浏览器的操作。这只是一种从带有一个类的模块中导出/导入类的方法。如果您想编写自己的模块,可

Typescript 复制函数的类型脚本和具体格式-如何?

我正在尝试用typescript编写无点的curried函数。这样做,我确实发现了一个问题。 Typescript似乎是在立即评估类型,据我所知,它不允许非常好的curry函数 让我用一个例子来说明,首先是非curried函数 const fn = (x: number): string => null function inline <T, U>(fn: (x: T) => U, src: T[]): U[] function inline <T, U>(

Typescript-在分解结构时修改数组值

假设我有一段代码: const [val$, err$] = partition(result => ...)(httpSource$) const valid$ = val$.pipe( tap(() => ...), map(result => ...) ) const error$ = err$.pipe( tap(() => ...), map(result => ...) ) 通过在赋值之前修改分区返回值,我可以避免创建v

Typescript 属性在数组元素上不存在

我试图返回一个包含初始化对象和数字的数组 但是,我得到以下错误: 类型“number | IObj”属性“foo”上不存在属性“foo” 类型“number”上不存在 如何修复此问题?对于数组文本,默认情况下,typescript将推断数组,因此当发生解构时,每个元素都是IObj | number,第一个元素是IObj,第二个元素是数字的信息将丢失 在最近发布的3.4中,您可以使用as const让编译器推断一个只读元组(返回[foo,1]as const) 或者,您可以使用显式类型注释告诉编译

在TypeScript中动态添加函数声明

我是TypeScript新手,尝试实现一个自动生成的构建器模式,这样我就可以按照 class-Foo{ @可构建('inBar')) 公共栏='未初始化'; 构造函数(){} } const FooBuilder=getBuilder(Foo); const foo=new FooBuilder().inBar('My Bar').build(); 考虑到我不仅是TS新手,而且已经离开JS一段时间了,写这篇文章多少有些直截了当 当然,现在传输员抱怨不知道inBar功能。我可以使用[]操作符,比

Typescript VSCode/w。字体脚本Monorepo中更漂亮

我目前正在Monorepo设置中通过VSCode扩展使用Prettier。问题是Prettier在我的api文件夹中不能完全工作。它不尊重默认的线宽,分号不会自动变为空。奇怪的是,我的www文件夹照常工作,我没有任何遗漏的更漂亮的功能 Prettier配置通过VSCode中的“用户设置”设置为全局 www-NextJS api-阿波罗服务器 www/tsconfig.json { "compilerOptions": { "target": "es5", "lib": [

根据TypeScript中的三元语句指定不同的类型

我有以下类型: selection: (InterfaceX | InterfaceY)[] interface InterfaceX { switch: boolean propertyOne: number } interface InterfaceY { switch: boolean propertyTwo: number } 选择可以是: {switch: true, propertyOne: 1} or {switch: false, propertyTwo:

Typescript 对象的键是数组的键之一

如何保持返回对象的键由传入数组设置 function f<T extends string, U = { [K in T]?: boolean }> (keys: T[]): U { const out: U = {} as U for (let key of keys) { out[key] = true } return out } f(['one', 'two'])['one'] // good f(['one', 'two'])['three'] /

Typescript 类型';T';不能用于索引类型“0”;“类”;

我想为一个特定的类创建一个通用的参数的typescript type Example<T> = Parameters<UserRepository[T]>[0] 或 type ClassMethod=参数[0] 键入Param=ClassMethod//,其中泛型包含“UserRepository”。 及 type ClassMethods=string 类型Params=ClassMethods 第一个示例很简单,该类嵌入在d中 type ClassMethod&

Can';t在TypeScript模块中导出导入的类型

我正在尝试将一个长文件拆分为多个文件,而不影响导入的结构 我在模块b上导出了一个接口,如下所示: export interface A { // stuff } import { A } from 'module-b' export { A } import { A as AA } from 'module-b' export { AA as A } 在我的“模块集合”文件中,我有以下内容: export { A } from './module-b' 但是,我在编译时遇到以下错

为什么Typescript没有为遗漏的参数引发错误?

我有以下代码: type Callback = (a: string, b: string) => void const observer: Callback = function(a: string): void { console.log(a) } observer('foo') Typescript在最后一行抱怨: Expected 2 arguments, but got 1.(2554) 为什么TS只是在observer调用上抱怨,而不是在实现observer的第3行

Typescript vscode与MONACODE编辑器之间的不同类型脚本推理管理

我刚刚创建了一个复杂的函数,它包含3个参数:名称、类型和方法。 此函数用于在存储区中存储方法。它从第二个agument推断第三个agument的返回类型 添加方法d.ts 接口简化类型映射{ 字符串:字符串; 编号:编号; 布尔型:布尔型; } 类型globalMethodId=( 名称:string, 类型:T[], 方法:()=>SimplifiedTypeMap[T] )=>无效; 接口方法库{ [名称:字符串]:{ 类型:(SimpledTypeMap的键)[]; 方法:()=>Simp

Typescript 如何仅在WebStorm和Visual Studio打开时运行自动热键脚本?

我最近经常和TS一起工作。我喜欢让我做字符串插值的符号。但是,我忘了使用它,所以我创建了AHK脚本来切换backtick和“for me: '::` `::' ~::~ "::" 很好用,但现在它在任何地方都能用,甚至在这里。我希望这个脚本只在WebStorm和VisualStudio中工作。谷歌搜索发现了IfWinActive,但它需要完整的窗口标题。在我的例子中,窗口标题变化很大,因为它还包含项目标题,例如.ts文件的路径,标题可以是 “我的酷项目[C:\path\to\file.ts]-

如何在Sublime文本中同时支持Typescript和Flow

我在做两个项目。一个使用Flow,另一个使用Typescript。我想对两者都使用升华文本 我想为Flow项目利用与流相关的包(例如SublimeLiner流),同时为Typescript项目利用与Typescript相关的包(例如Typescript) 当我安装这两套软件包时,它们会互相碰撞(Sublime目前正在我的Flow项目中报告Typescript错误) 也许有一种方法可以使包特定于项目?或特定于扩展类型 我唯一的其他想法(不是首选)是在一个项目中使用VSCode,在另一个项目中使用S

Typescript Nestjs依赖注入-将服务注入服务

我有一个服务,我可以注入到其他组件没有任何问题 当我尝试将该服务注入另一个服务时,我得到 Error: Nest can't resolve dependencies of the AService (?). Please make sure that the argument BService at index [0] is available in the AService context. 我找不到任何方法将服务注入彼此。这是否不受支持,有点反模式 如果是这样的话,如何处理我希望在我的

TypeScript泛型声明语法

在下面的代码中,Action=Action的含义是什么 export type ActionReducerMap<T, V extends Action = Action> = { [p in keyof T]: ActionReducer<T[p], V>; }; 导出类型ActionReducerMap={ [p in keyof T]:作用减速器; }; 它是一个通用参数,被约束为扩展动作(即它可以是动作或动作的任何子类),如果没有提供,它的默认值是动作 假设

Typescript 如何在使用节点模块中的类型时获得正确的导入路径?

几个月前有些东西坏了,此时我没有注意出了什么问题以及原因。但每次我在项目中导入自己的类型时,它们都会得到一个错误的路径 导入解析为从“@sap/ui5 types/modules/sap/m/Input”导入输入无效,我希望将其解析为从“sap/m/Input”导入输入哪个是正确的 这肯定和我的tsconfig有关。。。但我不知道要更改什么才能使其与类型定义一起工作,同时也使导入有效 tsconfig看起来是这样的: (...) "rootDir": "./&q

Typescript 角度:查询firebase

我有一个到我的firebase数据库wich pipe的查询,并订阅以在数组中获取它。我的问题是我有400多个寄存器,我只需要在一个数组中使用它们,firebase it会为每100个寄存器返回一个数组: 如何在一个数组中获得它?因为我需要它以这种方式使我的循环 这就是我现在的问题: this.firestore.collection<User>('users').valueChanges().pipe(take(1)).subscribe(users => { th

Typescript 有没有办法取消mongoose find执行并从redis返回数据?

我试图在nest.js中实现Redis缓存和mongoose,我正在寻找一种方法 在执行find或findOne并从redis返回数据之前,首先检查redis缓存 否则执行查询,将结果保存在redis中并返回结果。 我没有按照nest.js的建议实现的原因 我也在使用Apollo服务器进行GraphQL @Injectable() export class MyService { async getItem(where): Promise<ItemModel> {

Typescript 如何从函数的默认值推断类型?

我希望能够从函数的默认值推断返回值类型,并希望能提供一些想法或帮助 链接: 常量dict={ k1:{ k_child_1:1, }, k2:{ k_child_2:2, } } IDict类型=dict类型 函数getL(类型:P='k1'){/下面是一个工作示例: 常量dict={ k1:{ k_child_1:1, }, k2:{ k_child_2:2, } } IDict类型=dict类型 函数getL(类型:P):IDict[P] 函数getL():IDict['k1'] 函数g

搜索Typescript类的预定义实例

这是一个补充 假设我有一门课: export class PizzaSize { static readonly SMALL = new PizzaSize('SMALL', 'A small pizza'); static readonly MEDIUM = new PizzaSize('MEDIUM', 'A medium pizza'); static readonly LARGE = new PizzaSize('LARGE', 'A large pizza');

模拟进行外部API调用的Typescript类

所以我做了很多阅读/搜索,但似乎无法理解这一点 我有一个typescript类,看起来像这样 import * as Shopify from 'shopify-api-node'; export default class ShopifyService { private readonly shopify: Shopify; constructor( config: Shopify.IPublicShopifyConfig | Shopify.IPrivateShopifyC

Typescript 删除导入文件上的babelrc-意外令牌后,Jest测试无法使用ts Jest运行

类似问题: 我正在将js测试文件转换为ts文件,并使用ts jest。我知道,如果我开玩笑,我就不需要巴贝尔了。但是当我删除.babelrc文件时,当我运行测试时,会出现以下错误: Jest encountered an unexpected token This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

Typescript 将递归类与“引用”一起使用时发生引用错误;emit decoratormatata“;打字脚本选项

通常,我们可以通过以下方式在TypeScript中递归使用类: class A { b: B; } class B { a: A; } 但当我们将其与decorator和元数据一起使用时,会出现如下引用错误: ReferenceError: Cannot access 'B' before initialization 这是一个简单的复制代码 // test.ts const decorator = (target: any, property: any) => {}; c

TypeScript中奇怪的可选类属性

从今天开始,以下代码突然出现ts2322错误。 这在中国很有效 我没发现有什么问题,但有什么问题吗 我使用的是Visual Studio代码1.56.2 class Klass { value?: number; constructor(value?: number) { this.value = value; } } 您没有提到这一点,但我假设您使用的是npm中发布的夜间版本typescript@next。如果是这样,您可能会看到TypeScript 4.4的一个新功能

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 825 页