protoc-gen-twirp_typescript
全部标签 我正在尝试用C#编写一个函数,它接受一个包含typescript代码的字符串并返回一个包含JavaScript代码的字符串。有这方面的库函数吗? 最佳答案 可以使用Process调用编译器,指定--outfile.js到一个临时文件夹,读取编译文件的内容。我做了一个小应用程序来做到这一点:用法TypeScriptCompiler.Compile(@"C:\tmp\test.ts");获取JS字符串stringjavascriptSource=File.ReadAllText(@"C:\tmp\test.js");带有示例和注释的完整
我正在查看AngularJS2和Typescript,我决定用它做点什么来学习Typescript的基础知识。通过许多研究,我发现了关于模块、Typescript的好话题,其中之一是谈论“let”和“var”命令来声明变量;根据this问题,下面的Typescript代码应该只显示一个警告并在控制台中抛出一个错误:测试.ts:for(leti=0;i编译的test.js:for(vari=0;i但事实并非如此。编译器“忽略”“let”命令并将其变成“var”命令。为什么会这样?Typescript是否仅适用于类?我正在为“npmstart”使用AngularJS配置,所以它会自动编译我
我正在尝试用TypeScript重写我的一些JavaScript代码。其中一些代码引用了我添加到字符串对象原型(prototype)的扩展。String.prototype.format=function(){varformatted=this;for(vari=0;i然而,使用类型脚本添加这个非常具有挑战性。我见过这样的例子,您声明一个基本接口(interface)的扩展,然后将一个函数分配给原型(prototype)以匹配该接口(interface)并提供您的功能。像这样...interfaceString{showString:()=>string;}String.prototy
我的项目中有以下typescript错误..让我分享一下一个示例,以便您了解正在处理的内容。moduleCoreWeb{exportclassControllerimplementsIController{public$q;public$rootScope;public$scope:ng.IScope;public$state:ng.ui.IStateService;public$translate:ng.translate.ITranslateService;publicappEvents;publiccommonValidationsService;publicdefaultPag
我已经下载了一个种子项目Angular2WebpackStarter并顺利启动并运行。我使用它时遇到的一个不便是在单元测试下调试源文件。所有*.spec.ts文件都加载到浏览器中并可调试,因此至少为它们生成map文件。当我进入一个正在测试的源文件时,我得到如下信息:karma配置:module.exports=function(config){vartestWebpackConfig=require('./webpack.test.js');config.set({basePath:'',frameworks:['jasmine'],exclude:[],files:[{pattern
表达式1==2导致TypeScript给出错误Operator'=='cannotbeappliedtotypes'1'and'2'。TypeScript将这些值视为不同类型的原因是什么?将其专门应用于数字是设计决定,还是整个打字系统的副产品?允许比较文字会造成什么危害? 最佳答案 1和2在这种情况下被认为是所谓的文字数字。这意味着值1的类型为1,因此只能是1,与2相同。鉴于此,1==2的表达式没有意义,因为1永远不可能是2,或者更准确地说,它们的类型不匹配,你无法将苹果与橙子进行比较。以下是有关默认假定文字类型的基本原理和详细信息
有谁知道如何阻止VS2013为TypeScript生成*.map文件?我们不是他们的super粉丝,因为他们:往往与实际的javascript源代码不同步停止您在Chrome开发者工具等工具中进行编辑/继续调试的能力我可以通过构建后步骤删除它们,但是生成的javascript仍然有://#sourceMappingURL=someFile.js.map这让浏览器寻找map文件(生成404)。即使我们尝试构建一个在Release模式下具有TypeScript的项目,它仍然会生成带有映射文件引用的JS。有办法止痛吗? 最佳答案 在Typ
我正在尝试在我的TypeScript项目中使用moment,但是当我使用该行时,importmomentfrom'moment';我得到错误:'node_modules/moment/moment'hasnodefaultexport.我也试过,importmomentfrom'moment/src/moment';但是我得到了错误:'Cannotfindmodulemoment/src/moment'.有人知道这样做的方法吗?谢谢。 最佳答案 正确的语法是:import*asmomentfrom'moment';
问题是,如果对象足够复杂(在任何强类型语言中都是如此),Typescript中的模拟可能会变得棘手。你通常会模拟一些额外的东西只是为了编译代码,例如在C#中,你可以使用AutoFixture或类似的东西。另一方面,Javascript是动态语言,可以只模拟测试运行所需的对象的一部分。所以在Typescript单元测试中,我可以使用any类型声明我的依赖关系,从而轻松模拟它。您看到这种方法有什么缺点吗?letuserServiceMock:MyApp.Services.UserService={//lotsofthingtomock}对比letuserServiceMock:any={u
我们经常使用简单的函数声明,其中函数接受单个对象或某种类型的对象数组。简单的声明是:interfaceISomeInterface{name:string;}classSomeClass{publicnames:ISomeInterface[]=[];publicaddNames(names:ISomeInterface|ISomeInterface[]):void{names=(!Array.isArray(names))?[names]:names;this.names=this.names.concat(names);}}但是TypeScript抛出“类型不可分配”错误。有更好的