草庐IT

language-typescript

全部标签

javascript - typescript 中的 'd3 和 'd3-hexbin' 作为全局库

因此,我使用d3和d3-hexbin作为全局库:...并在.ts中将它们引用为://////...使用DefinitelyTyped定义。然而,尽管这有效:constsvg=d3.select('#hitmap').append('svg')...这个:consthexbin=d3.hexbin().radius(binsize+1)...失败并显示:Property'hexbin'doesnotexistontype'typeof"/Users/bytter/node_modules/@types/d3/index"'想法? 最佳答案

javascript - 添加到 ace-editor 明智的自动完成 : List user-defined functions and variables (javascript language)

我想将用户定义的函数和变量列表添加到ace编辑器的自动完成功能中。为此,我想检查用户插入到文档中的所有代码,找到定义的函数(及其参数)、定义的变量及其作用域等。主要问题这些数据是否已经在ace源代码(或语言插件)的某处计算出来,我可以通过某种方式获取它?`我想要什么例如,如果用户插入这样的代码:varvar0='abcd';functionfoo(var1,var2){varvar3='efg';}我想在自动完成框中添加名为“foo”的函数,它有两个参数——var1和var2。我还想将var0添加到变量列表中,并在用户在定义的范围内(在函数中)写入时添加var3。我已经知道的:我知道如

javascript - 使用 webpack 生成带打字文件的 typescript 库

目前我的构建过程是:使用ES6模块语法编写大量typescript文件生成一个index.ts,从一个点重新导出所有模块编译为CommonJS+系统输出描述符/输入文件这会生成一个index.js文件,该文件会重新导出所有内部文件,而无需开发人员使用它而无需了解它,以及许多反射(reflect)文件结构的d.ts文件。现在这行得通了,但是如果我要对浏览器采用这种方法,我将需要对所有js进行webpack,否则这将是拉入所有单个文件的http请求噩梦。目前,该库将作为其他库的依赖项使用,因此它不是逻辑的终点或任何它是模块/库的东西。现在的主要问题是关于webpack我知道我可以加载TS并

TypeScript详解十六:类型声明(declare)

目录前言一、类型声明的作用?1.1declare关键字1.2示例二、常见的几种类型声明2.1普通类型声明2.2外部枚举2.3命名空间三、类型声明文件3.1模拟类型声明文件,以jquery为例3.2使用手动实现的jquery.d.ts声明文件3.3第三方声明文件(以jquery为例)3.4npm声明文件可能存在的位置补充知识点总结前言在日常开发中几乎所有的项目都会应用许多第三方库来完成任务需求。这些第三方库不管是否是用TS编写的,最终都要编译成JS代码,才能发布给开发者使用。我们知道是TS提供了类型,才有了代码提示和类型保护等机制。但在项目开发中使用第三方库时,你会发现它们几乎都有相应的TS类型

javascript - 如何在 Typescript 2.1+ 中使用 Bluebird

(我已阅读thispost但它是从八月开始的,它没有回答我对当前typescript版本的问题。)我目前在我的项目中使用Typescript1.8,它工作正常:import*asPromisefrom"bluebird";asyncfunctionf():Promise{returnPromise.delay(200);}但是如果我尝试使用Typescript2.1进行编译:index.ts(2,16):errorTS1059:Returnexpressioninasyncfunctiondoesnothaveavalidcallable'then'member.谷歌搜索在Typscr

javascript - TypeScript Array.prototype.map 声明

规范根据MDNspecificationforArray.prototype.map()map应该这样使用...varnew_array=arr.map(callback[,thisArg])问题TypeScript有几个映射的重载声明,这使得extendArray变得非常困难。.我希望看到这个(在lib.d.ts中)...map(callbackfn:(value:T,index:number,array:T[])=>U,thisArg?:any):U[];但是lib.d.ts也有这些……map(this:[T,T,T,T,T],callbackfn:(value:T,index:n

javascript - TypeScript 相当于 React 无状态组件中的 rest/spread Prop

我正在尝试添加以下函数,取自bootstrap-reactdocumentation,到我的TypeScript+React项目:functionFieldGroup({id,label,help,...props}){return({label}{help&&{help}});}但是,我目前的实现是:interfaceFieldGroupPropsextendsReact.HTMLAttributes{id?:string;label?:string;help?:string;}classFieldGroupextendsReact.Component{publicrender():

javascript - TypeScript:自动生成的动态函数名称

我在TypeScript中有一些动态生成的函数名称。我现在可以使用它们的唯一方法是将我的对象转换为.例如:myInstance.getDataA().这些函数是根据一些规则动态生成的。基于相同的规则,我想为我的class生成类型定义。es,但我无法让它工作。原始.tsabstractclassOriginal{dynamics=['getData','setData'];constructor(){//Icreatefunctionsheredynamicallythis.dynamics.forEach((key)=>{this[key+this.info]=()=>null;});

javascript - 为什么 TypeScript 将类包装在匿名函数中?

这个问题在这里已经有了答案:Howtodoclassimplementation?(1个回答)关闭7年前。例如,我们有一个Dog类:classDog{staticfood;privatestaticstatic_var=123;constructor(privatename){}speak(){console.log(this.name+',Ieat'+Dog.food+','+Dog.static_var);}}编译为JS:varDog=(function(){functionDog(name){this.name=name;}Dog.prototype.speak=function

javascript - 如何正确处理 typescript 中的 promisifyAll?

考虑以下代码:importredis=require('redis');//HasambientdeclarationfromDTimportbluebird=require('bluebird');//HasambientdeclarationfromDTbluebird.promisifyAll((redis).RedisClient.prototype);bluebird.promisifyAll((redis).Multi.prototype);constclient=redis.createClient();client.getAsync('foo').then(functi