草庐IT

编写和发布 scrypt-ts 库合约

近期我们发布了名为scrypt-ts的项目,允许开发者可以使用Typesript语言开发BSV智能合约。今天很高兴在这里宣布一个最新进展,大家可以使用npm直接发布和使用scrypt-ts的库合约了。什么是scrypt-ts库合约?智能合约库可以提供可以在许多合约中重复使用的功能,开发人员可以使用现有的库来降低开发自己的合约的成本。scrypt-ts智能库合约与普通合约有以下不同:一个库合约不能有任何public/entry@methods,这意味着一个库不能通过tx直接部署或调用,它们只能在普通合约或其他库中被调用。库合约不能有任何状态属性,即被标记为@prop(true)的属性,但声明为@

javascript - TypeScript 在 WebStorm 7 中将所有 ts 文件编译为单个 JavaScript 文件

我的项目中有很多.ts文件。WebStorm将每个.ts文件构建为一个js文件。但我不想要那样。我有一个app.ts文件,所有其他.ts文件都将在该app.ts文件中构建。我如何在WebStorm7中做到这一点?CLI模式下有解决方案,但如何在WebStorm中实现?tsc--outapp.jsmain.tsapp.tsa.tsb.ts或者有更好的方法吗?回答刚刚在EditWatcher的参数部分添加了这一行--sourcemap$FileName$--outyour-main.js 最佳答案 您可以在Typescript文件观察器

javascript - JS/TS 中使用 async/await 的异步有界队列

我正在努力思考async/await,我有以下代码:classAsyncQueue{queue=Array()maxSize=1asyncenqueue(x:T){if(this.queue.length>this.maxSize){//Blockuntilavailable}this.queue.unshift(x)}asyncdequeue(){if(this.queue.length==0){//Blockuntilavailable}returnthis.queue.pop()!}}asyncfunctionproduce(q:AsyncQueue,x:T){awaitq.en

javascript - 如何在 TSLint 中对 js 和 ts 使用相同的规则

我想在.js文件和.ts文件中使用相同的样式。我知道tslint.json中有jsRules属性,但我发现它有2个问题:复制Ant粘贴完全相同的规则扩展某些配置时,例如tslint-react,你没有得到jsRules中的规则,这意味着你必须去规则集的源代码并手动复制它。有没有其他方法可以拥有相同的代码风格而不必同时维护eslint和tslint? 最佳答案 不是每个人都知道,但TSLint配置不必放在.json文件中。您可以使用.js扩展,并在其中保留您喜欢的任何逻辑。在这种情况下,我们可以将TSLint规则分为两类——通用规则和

javascript - typescript TS2322 : Type 'typeof Foo' is not assignable to type 'IFoo'

我正在尝试使用ES2015模块语法和TypeScript组合一些类。每个类在.d.ts文件中实现一个接口(interface)。这是问题的MWE。在.d.ts文件中我有:interfaceIBar{foo:IFoo;//...}interfaceIFoo{someFunction():void;//...}我的导出是://file:foo.tsexportdefaultclassFooimplementsIFoo{someFunction():void{}//...}//noerrorsyet.我的导入是:importFoofrom"./foo";exportclassBarimple

javascript - 如何使用 webpack 生成 d.ts 和 d.ts.map 文件?

我找不到使用webpack生成d.ts和d.ts.map文件的方法。babel-loader只生成js和js.map文件。我还需要d.ts和d.ts.map文件(我可以使用tsc命令生成),如下图所示:这是一个包含所有设置的最小存储库:https://github.com/stavalfi/lerna-yarn-workspaces-example更多详情我搬到了Lerna+yarn。我的一个包是用TS和JS编写的core(将在其他包中使用)。我正在为ts-to-js使用webpack4,babel-loader8。其他包试图找到我的core包的类型定义和实现,但我只能生成index.

javascript - 如何在 ts 而不是 HTML 中使用管道

我从ts添加文本到html元素像这样this.legend.append('text').attr('x',legendRectSize+legendSpacing).attr('y',legendRectSize-legendSpacing).text(function(d){returnd;});这将创建类似的htmlDatawillcomehere我想用管道将这些数据转换成某种形式我怎样才能从ts代码做到这一点?并且当我动态创建这个HTML时,我不能像这样使用管道{{Datawillcomehere|pipename}}我在找类似的东西this.legend.append('te

javascript - 从非类继承 ES6/TS 类

鉴于类是从非类扩展而来的(包括但不限于函数),functionFn(){}classClassextendsFn{constructor(){super();}}后果是什么?规范对此有何规定?看起来Babel、GoogleV8和MozillaSpidermonkey的当前实现都可以,而TypeScript会抛出Type'()=>void'isnotaconstructorfunctiontype如果这是一个有效的ES2015代码,在TypeScript中处理它的正确方法是什么? 最佳答案 TypeScript部分到目前为止,spec

javascript - typescript TS7015 : Element implicitly has an 'any' type because index expression is not of type 'number'

我在Angular2应用程序中遇到此编译错误:TS7015:Elementimplicitlyhasan'any'typebecauseindexexpressionisnotoftype'number'.导致它的代码是:getApplicationCount(state:string){returnthis.applicationsByState[state]?this.applicationsByState[state].length:0;}但这不会导致此错误:getApplicationCount(state:string){returnthis.applicationsBySt

javascript - 错误 TS7017 : Index signature of object type implicitly has an 'any' type in form validation angular 2

我在给出的Angular2中进行响应式(Reactive)验证时遇到编译错误errorTS7017:Indexsignatureofobjecttypeimplicitlyhasan'any'type为了this.comErrors[field]='';constmessages=this.validationMessages[field];this.comErrors[field]+=messages[key]+'';它正在按应有的方式运行,但是当我尝试运行npmrunbuild.prod时,出现错误并且无法构建我的项目这是我的代码:onValueChanged(data?:any)