草庐IT

language-typescript

全部标签

node.js - NodeJS/Typescript 导出/导入的正确解释?

有人可以解释一下使用Typescript在NodeJS中导出和导入是如何工作的吗?我的设置是:NodeJSTypescript中的一切TSLint打字我在搞乱导出/导入而不是做一些正确的编码,这让我发疯了,并且找不到任何关于它如何工作的正确解释。导入你能解释一下吗:varmodule=require("module");importmodule=require("module");importmodulefrom"module";import{something}from"module";import*asmodulefrom"module";导出你能解释一下吗export=somet

javascript - TypeScript isNaN 只接受一个数字

我使用WebStorm2016.2.2、TypeScript2.1、Node.js。出于某种原因,isNaN被声明为只接受数字的函数:declarefunctionisNaN(number:number):boolean;我尝试将其更改为any,但它似乎对TSC没有影响。我仍然得到同样的错误:Argumentoftype'string'isnotassignabletoparameteroftype'number'我的代码(简化):isNaN("10");我该如何解决/解决它?编辑:注意,根据规范,isNaN的参数可以是任意类型:Number.isNaN()另外:我的代码被简化了。我实

node.js - 如何运行用 TypeScript 编写的 Mocha 测试?

设置:我有一个用TypeScript编写的Node项目(纯Node,没有浏览器位)。我可以使用typescript模块中的TypeScript编译器(tsc)来编译代码。到目前为止一切顺利。但是,我想使用Mocha编写测试,这就是我遇到问题的地方。我尝试了--compilersts:typescript,但我不断收到如下错误:errorTS5023:Unknowncompileroption'compilers'.看起来mocha的命令行最终被传递给tsc,这显然不好。 最佳答案 对于尝试过typescript-require并遇到

node.js - TypeScript:如何为已安装的 npm 包定义自定义类型?

我喜欢用rx-node在TypeScript中importRxNodefrom'rx-node';我安装了rx-node使用npm$npminstallrx-node--save我搜索了类型定义,但没有任何结果$typingssearchrx-nodeNoresultsfoundforsearch如何为已安装的npm模块定义自定义类型定义rx-node?我应该在哪里存储类型定义文件?如何配置TypeScript(tsconfig.json和typings.json)?编辑:感谢AlekseyL.和DavidBohunek我实现了定义一个看起来像这样的rx-node.d.tsdeclar

node.js - 在 node.js 中扩展 TypeScript 全局对象

我有一个node.js应用程序,它将一些配置信息附加到global对象:global.myConfig={a:1,b:2}TypeScript编译器不喜欢这样,因为Global类型没有名为myConfig的对象:TS2339:Property'myConfig'doesnotexistontype'Global'.我不想这样做:global['myConfig']={...}如何扩展Global类型以包含myConfig或只是告诉TypeScript闭嘴并信任我?我更喜欢第一个。我不想更改node.d.ts中的声明。我看到了SOpost并尝试了这个:declaremoduleNodeJ

node.js - Node 8 的推荐 typescript 配置

如果我想使用Node8编译的源代码,推荐的typescript配置是什么?大多数教程使用以下tsconig.json:{"compilerOptions":{"target":"es6","module":"commonjs"}}但现在我发现,并非所有可用功能都受支持。例如['foo'].includes('bar')抛出错误:类型“string[]”上不存在属性“includes”。我找到了issue解决了这个问题。解决方案是使用库es7.我可以覆盖默认库:"lib":["es7"]但我不确定这是否是Node8的最佳配置-是否还有更多功能不受该库的支持?定义了很多特性吗?所以我的问题

node.js - 如何在 TypeScript 文件中要求 NodeJS?

如何从TypeScript类中加载常规NodeJS模块(来自node_modules)?当我尝试编译包含以下内容的.ts文件时:varsampleModule=require('modulename');编译器提示我不能在这个范围内使用require。(该行位于文件的开头)。 最佳答案 Typescript在找不到符号时总是会报错。编译器附带一组默认定义,用于window、document等,这些定义在名为lib.d.ts的文件中指定。如果我在这个文件中对require执行grep,我找不到函数require的定义。因此,我们必须自

javascript - 在 TypeScript 中编写 npm 模块

我正在开发我的第一个npm模块。我之前曾简单地使用过TypeScript,但一个大问题是对于许多模块来说,没有可用的定义文件。所以我认为用TypeScript编写我的模块是个好主意。但是,我找不到任何有关执行此操作的最佳方法的信息。我发现了这个相关的问题“CanIwritenpmpackageinCoffeeScript?”,人们建议只发布JavaScript文件。但与CoffeeScript文件相比,TypeScript文件在TypeScript应用程序中使用时可能实际上很有用。我应该在发布npm模块时包含TypeScript文件,还是应该只发布JavaScript文件并将生成的.d

node.js - 如何从命令行运行 TypeScript 文件?

我很难找到答案。使用普通的Node.JS,你可以运行任何带有nodepath/to/file.js的js文件,使用CoffeeScript它是coffeehello.coffee而ES6有babel-nodehello.js。我如何对Typescript做同样的事情?我的项目有一个tsconfig.json,Webpack/ts-loader使用它来为浏览器构建一个漂亮的小包。不过,在此之前我需要从控制台运行构建步骤,这将使用项目中使用的一些.ts文件来生成模式,但我似乎不能无需编译整个项目即可运行单个Typescript文件。 最佳答案

相当于 Typescript 接口(interface)的 Python

最近我一直在使用Typescript,它可以表达如下内容:interfaceAddress{street:string;housenumber:number;housenumberPostfix?:string;}interfacePerson{name:string;adresses:Address[]}constperson:Person={name:'Joe',adresses:[{street:'Sesame',housenumber:1},{street:'Baker',housenumber:221,housenumberPostfix:'b'}]}非常简洁,在使用Pers