我正在使用visual studio 2015 RTM并制作一个混合应用程序,但typescript调试器似乎总是命中错误的点(有时甚至不是断点),它任意命中项目中任何文件的任何位置,下面是屏幕截图
请帮我解决这个问题我终于可以开始调试了
我删除了所有的//最后我得到了调试器的工作
我删除了所有//此问题已在apache cordova update 2工具中得到解决此问题已在apache cordova update 2工具中得到解决或者,您可以在浏览器中设置断点,忘记VS。对于此类问题,我不
为什么TypeScript允许这样做?
我指定了一个数字索引。为什么我可以使用字符串作为索引?
Visual studio不报告错误
interface StringArray {
[index: number]: string;
}
var a: StringArray;
a = { "key": "val" };
var b = a["key"];
数组也是一个对象。因此,您可以访问对象属性
var array = [];
array.push("One"); // array
我很难理解这一点:
支持的索引类型有两种:字符串和数字。可以支持这两种类型的索引,但限制条件是,从数值索引返回的类型必须是从字符串索引返回的类型的子类型
虽然索引签名是描述数组和“字典”模式的一种强大方式,但它们还强制所有属性都与其返回类型匹配。在本例中,属性与更通用的索引不匹配,类型检查器会给出一个错误:
interface Dictionary {
[index: string]: string;
length: number; // error, the type o
我有一个角度2应用程序。服务从api请求数据,返回如下结果:
{
"data":[
{"id":1,"timestamp":"2016-04-17T19:52:53.4510935+01:00","sourceDatabaseServer":"127.0.0.1","sourceDatabaseName":"Database1","targetDatabaseServer":"192.168.99.101","targetDatabaseName":"Database2"
例如,我有以下模块
Foo.Bar.ts
export module Foo {
export class Bar { }
}
export module Foo {
class MainBar {
constructor() {
new Bar(); // doesn't work
}
}
}
我想在main中使用它,它也属于同一个模块
Main.ts
export module Foo {
expo
因此,在看了一些示例并试图自己编写一些东西之后,我开始认为我需要一个外部库来使用TypeScript的导出/导入功能,因为我收到了错误,说需要和导出
任何指引我正确方向的东西都是非常受欢迎的
import * as bar from './bar';
class Foo {
public Bar(): void {
console.log(new bar.Bar().message);
}
}
window.onload = () => {
new
我正在尝试用TypeScript构建我的第一个yeoman生成器。
我的ts传输到js ok,简单的测试生成器工作。然而,我很好奇TypeScript编译器在抱怨什么
我的目标是es2015模块和es6
有什么想法吗
您可能没有yeoman的类型信息。如果将let或const与require语句一起使用,则必须使用类型手动注释变量。你可以用
import Generator = require('yeoman-generator');
相反。请注意,您还需要为yeoman generator
您好,我在我的TypeScript项目中使用async/await,但我得到以下日志:
[ts]ES5/ES3中的异步函数或方法需要“承诺”构造函数。确保有“承诺”构造函数的声明,或在--lib选项中包含“ES2015”
如何解决这个问题?正如错误消息所说,将lib:es2015添加到tsconfig.json中
// tsconfig.json
{
"compilerOptions": {
"lib": [ "es2015" ]
}
}
更新:如果这对您不起作用,请尝试以下方
我已经发布了一个npm包(meteor模型),它依赖于@types/meteor。
该项目本身运行良好,并且
import Meteor from 'meteor/meteor'
正确决定
node_modules/@types/meteor
但是,当我在另一个项目中安装此软件包时,它不起作用:
Cannot find module 'meteor/meteor'
投入
node_modules\meteor-model\dist\MeteorModelDecorators.js:38:1
我在TypeScript函数中偶然发现了这行代码。我假设它正在将someVar转换成某种东西,但我不知道它是什么
someVar
我在TypeScript文档中找不到任何答案。有人知道这是做什么的吗?它结合了强制转换和数组定义以及单独类型的索引
演员阵容1:
var myVar:T = <T>someVar;
var-myVar:T=someVar;
第2组(简化类型):
var myVar:[number,boolean,string]=someVar;
这将创建一个数组类
idstring具有工作项列表。此工作项我必须在“查询”选项卡中打开,我不想创建新的查询否,您不能通过扩展在“查询”选项卡中显示结果,您可以在“工作”选项卡中显示结果。您的意思是要在“查询”选项卡中显示结果作为查询结果吗?是。。。我想在查询选项卡中显示结果。但是不想创建新的查询
var query = {
query: "SELECT [System.Id] FROM WorkItem WHERE [System.State] NOT IN ('Closed','Com
这是我的第一个angular项目,我一直在使用内置服务器,偶尔也会做一个构建来推送到服务器上——现在我正在尝试一个--prod构建……我遇到了编译错误
经过一段时间的阅读,我已经解决了其中的大部分问题,并且我理解AOT的需求,但是这个错误让我感到困惑
我通过应用程序反复使用此代码来启动表单
<form novalidate="novalidate"
autocomplete="off"
[formGroup]="form"
(submit)="form.valid
我在TS中有一个项目,需要一些类来实现以下接口:
interface IStylable {
readonly styles: {
[property: string]: string
};
addStyles (styles: { [property: string]: string }): void;
updateStyles (styles: { [property: string]: string }): void;
removeStyles (styles:
在严格模式下键入脚本2.8.4
我有这样一个枚举:
export enum TabIndex {
Editor = 'editor',
Console = 'console',
Settings = 'settings',
Outputs = 'outputs'
}
tabs = new Map(<[string, string][]>Object.keys(TabIndex).map((key: any) => [TabIndex[key], key]));
假设我有以下几点:
interface Validator {
validate: (value: string) => boolean;
errorMessage: string;
}
interface EditDialogField {
label: string;
prop: string;
required?: boolean;
type: 'input';
validators?: Validator[];
}
这很有用,因为当我使用这些接口时,
可以肯定的是,在Typescript中实现Scalas下划线已经是我20年来最喜欢的项目了,但还不能实现,这就是实现和效果
我唯一关心的类型是“下划线”,其他所有内容都忽略不计
const buildUnderscore = (f: any) => (path: any[]): any => new Proxy(f, handler(path));
const handler = (path: any[]) => ({
get: function(obj: any, p
当我从react router domv4.3.2使用withRouter时,它会向组件传递三个道具,history,match和location。在哪里可以找到TypeScript的这三个对象的类型定义
我已经检查了这个链接,但它没有版本4。此外,此处定义的类型不包括历史位置和匹配从“历史”导入{History,location};
从“反应路由器”导入{match};
您可以签出@types/react router。在那里,您可以看到从repos没有版本4的@types/history中
我有一个core库,在package.json中包含以下内容:
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"es2015": "dist/es2015/index.js",
"types": "dist/es2015/index.d.ts",
"typings": "dist/es2015/index.d.ts",
{
"compilerOptions": {
"baseUrl": "./packages
我想在loopback4控制器方法(TypeScript)中扩展响应。我已经从数据库中加载了一个对象数组,但每个对象都必须通过额外的异步加载数据进行扩展。如何构建forEach/map方法调用
数组看起来像这样(简化):[{'ID':1},{'ID':2}]
对于这些对象中的每一个,我都想调用一个方法async getData(record:record):Promise
据我所知,我需要做这样的事情:
async fetchData()
{
常量记录=[{'ID':1},{'ID':2}];
我有一个Typescript项目,其中有一个.ts文件,正在导出一些接口和一个类。
与此类似:
export interface Tree {
value: string,
anotherValue: number,
children: Tree[]
}
export class Utils {
static adder(val1: number, val2: number): number {
return val1 + val2;
}
[...blabla
Electron是否可以直接加载TypeScript文件而不必单独使用tsc?类似于ts节点允许我们直接运行ts代码,而无需单独执行tsc+节点
它可以这样工作:
<script type="text/typescript" src="script.ts"></script>
<script type="text/typescript">
let a : number = 1
console.log(a)
</script>
设a:n
以下是在typescript中使用命名空间的一些示例代码:
export namespace com.ng.validation {
export interface StringValidator {
isAcceptable(s : string) : boolean;
}
export class LettersOnlyValidator implements StringValidator {
lettersRegexp : Re
给定以下Javascript,如何在Typescript中执行相同的操作而不出错
if (typeof customizeHttpRequest === 'function') { customizeHttpRequest(xhr); }
我觉得这应该是可能的,或者至少能够抑制此行的错误。如果您确定customizeHttpRequest将始终是一个函数,您可以简单地检查它的存在:
if(customizeHttpRequest){customizeHttpRequest(xhr);}添加//
我想使用disablevendorprefix和disableCSSOMInjection,它们是v5通过TypeScript引入的。
但是,当我使用它时,有一个typescript错误。(TS2769:没有重载与此调用匹配。)
@types/styled组件似乎不支持v5,但有没有办法使用它们
版本:
“样式化组件”:“^5.0.0”
“@types/styled components”:“^4.4.2”
参考。看起来他们已经更新了类型。现在对我来说很好
接口的语法让我感到困惑。它看起来过载了,但是当我试图创建一个带有任一签名的函数时,编译器告诉我另一个签名丢失了。目标是模拟函数进行Jest单元测试
interface SearchResultSetEachFunction {
promise(callback: (result: Result) => boolean): Promise<boolean>;
(callback: (result: Result) => boolean): void;
}
界面搜索
我一直在将此代码结构用于httprequest云函数。它与那些httprequest函数配合使用效果很好,但现在我将其与OnWrite函数配合使用时出现“函数返回未定义预期承诺或值”错误,即使我返回“Success!?”
你知道我错在哪里吗?我不熟悉onWrite触发器和整个云函数世界
这是我的密码:
export const toDashboardInfo = functions.firestore.document('maps/{mapId}').onWrite((change, conte
TS不允许从泛型函数返回空数组(即使此泛型参数扩展(具有约束)数组)的原因是什么?结果应来自数组。
以下代码:
// it does not work
async function handleErrors<Result extends Array<any>>(asyncCall: () => Promise<Result>): Promise<Result> {
try {
return await asyncCall();
为什么我需要演员阵容,有没有一种方法可以输入这样我就不需要了?TypeScript通常能够在检查这些情况的if语句中判断不能为null或未定义的内容。有几种方法可以解决这些问题。您只需删除result
const choose=(
收藏:T[],
选择器:(元素:T)=>U
):不可为空[]=>{
常量结果=[];
for(集合的常量元素){
常量值=选择器(元素);
如果(值!==未定义&&value!==空){
result.push(value);//这是有效的
}
}
返回结果;
};
我只是在学习TypeScript,在尝试向DOM或其他现有对象添加一些方法时遇到了困难。例如,我尝试添加一个方法,我可以调用它在控制台日志记录中使用颜色。然而,我得到了一些打字错误
Object.defineProperties(console, {
redLog: function(msg: string) { console.log(`%c${msg}`, 'color:red'); //TS error: Type '(msg: string) => void' has no
我还没有找到任何关于如何限制泛型类型可以接受的联合类型数量的信息
唯一部分相关的主题可以在这里找到,但仍然不是我的目标
鉴于我有以下代码:
枚举货币{
EUR=“EUR”,
USD=“USD”,
PLN=“PLN”,
RUB=“RUB”
}
类型令牌={
类型:T;
值:字符串;
};
常量令牌1:令牌={
类型:Currency.EUR,
值:“1”
}
常量标记2:标记={
类型:Currency.USD,
值:“1”
}
常量货币=[token1,token2];
const curren
让我们有下面的类型示例,我希望能够定义自定义对象,其中key是flag name,value是flags body
interface FlagModel {
value: boolean;
}
interface GenericFlagsModel<T extends Record<string, FlagModel>> {
flags: T
}
enum FLAG_NAMES {
FLAG_FOO = 'flag-foo',
FLA
有没有办法表示对象的键属性应该受到相关值的限制?等同于keyof但与给定键相关的值
const objectAction = <T extends object>(obj: T): void => obj;
const onlyForObjects = <T extends object>(obj: T, key: keyof T): void =>
objectAction(obj[key])
constobjectaction=(obj:T):voi
我很惊讶这段代码中没有错误:
let myList:string[]=require('something')
让foo:string | undefined=myList[7]
foo.length//没有错误!
如何使foo具有类型string |未定义的
我希望typescript编译器引发对象可能是“未定义的”。ts(2532)位于第三行。您可以“强制”数组访问的结果(字符串|未定义)
let myList:string[]=require('something');
设v=myLis
我正在开发一个小型的typescript应用程序,并且陷入了赋值的困境
这里是接口
export interface SearchTexts {
SearchText: SearchText[];
}
export interface SearchText {
Value: string;
BusinessID: string;
}
像这样分配值
let serchTextArr: SearchText[] = [];
const invoiceNos: string
我正在VSCode中使用typescript量角器框架。有没有办法区分已经自动化的功能步骤和没有自动化的功能步骤。我习惯于java,当没有找到步骤定义时,步骤会变灰,这提供了一种快速查看已编码或未编码内容的方法(在团队工作时特别有用)
此外,我还使用了settings.json,但无法使用右键单击->转到定义功能。有没有关于如何设置typescript的提示?我尝试添加stepDefinitions/*.ts文件,然后添加*.js文件,但没有效果
“黄瓜自动完成。步骤”:[
“JSFiles/
我有一个模型看起来像
import{Optional,Model,Sequelize,DataTypes}来自'Sequelize';
/*这是用于保存产品数据的产品模型*/
导出接口ProductAttributes{
productId:编号;
标题:字符串;
用户名:字符串;
sellerReview:字符串;
}
导出接口ProductCreationAttributes扩展可选{}
导出类产品扩展模型实现ProductAttributes{
productId!:编号;
标题!:字符
几天前我开始学习TS,当我在互联网上寻找用TS完成的express服务器时,我发现这是Middleware参数的类型定义,我实际上并不理解它。我试图在Typescript文档中搜索它,但没有找到任何类似的内容
<!-- language: lang-ts -->
function initializeMiddlewares (middlewares: {
forEach: (arg0: (middleware: any) => void) =&
我很难让jest使用带有import语法的ES模块的typescript项目。
我的项目最初是为commonjs编写的,jest测试运行良好。但后来我决定切换到ES模块(用于学习目的),jest不高兴ヽ(`Д´)ノ
我正在使用的工具:typescript、jest、ts jest
问题从import语法开始
以下是我尝试过的代码
// projectRoot/src/app.ts
export default someFunction = (): void => {
// som
我正在为我的Nestjs项目使用Sonarqube分析。当我用jest运行单元测试时,它们都通过了,代码覆盖率约为80%。在Sonaqube,它仍然显示为0%
我的声纳项目.properties文件如下
sonar.projectKey=<project-key>
sonar.projectName=
sonar.sources=src
sonar.tests=src
sonar.inclusions=**
sonar.test.inclusions=src/**/*.spec.ts
假设我的代码中有以下接口:
接口IOptionLabel{
标签:字符串
值:T
}
接口IOptionText{
文本:字符串
值:T
}
然后我使用以下函数创建IOptionLabel或IOptionText(或者实际上,我可能拥有的任何IOption)的数组:
const generateOptions=(值:T[],键='label')=>{
返回值.map(值=>({
[key]:`Option${value}`,
价值
}))
}
但是,当我尝试使用此函数生成数组时,typesc
此代码未编译(TypeScript v 2.9):
class-Foo{
构造函数(公钥:字符串,公共值:字符串){
}
}
const arr=新数组();
for(让foo进入arr){
console.log(foo.key,foo.value)
}
以下是TypeScipt游乐场上的相同代码:
原因是:
为什么TypeScript认为变量是字符串的类型,以及如何修复它,但在循环中使用for..inloop?尝试使用for(let foo of arr){而不是for(let foo
tl;dr-我想将第三方输入的接口与我自己的接口合并,这样任何导入原始接口的人都将获得合并的接口。
这可能吗
我正在做一个用JavaScript和AngularJS编写的项目,我们已经开始切换到TypeScript。
有了它,我们使用了,但是我们想定制一下。
例如,我们希望更改IController接口,使$onInit?:void的定义变为$onInit:void以使其成为必需的
我可以通过将声明与自己的接口合并来实现这一点:
interface IController {
$onIn
我正在创建ionic 4 angular应用程序,并使用ionic本地存储来存储某些项目。我想在24小时后清除本地存储数据。是否可能
这取决于你真正的目标是什么
如果出于某种安全原因,您希望自动擦除数据,那么我不这么认为
如果您只是想阻止用户访问旧数据,则需要存储开始日期时间,然后在下次尝试访问数据时,检查其是否超过24小时,如果超过24小时,则清除数据库
引用
从Typescript规范:
如果S对于T()没有多余的属性,并且以下情况之一为真,则S可分配给类型T,而T可从分配给类型T:
S是对象类型、交集类型、枚举类型或数字、布尔或字符串基元类型,T是对象类型,对于T中的每个成员M,以下一项为真:
根据该定义,S可以是Number,Boolean或String和T作为对象类型。这意味着,我可以这样做:const A:{test:string}=5。这里,T是{test:string},S是number。我知道我不能这么做,但根据我对规范的解释
下面使用枚举与类型别名的优缺点是什么
const enum LanguageEnum {
English,
Spanish
}
type LanguageAlias = "English" | "Spanish";
let l: LanguageAlias = "English";
let la: LanguageEnum = Language.English
使用枚举的目的是枚举类型的可能值。但是字符串文字的并集不也枚举可能的类型吗
我总是发现这些TS枚举非常奇怪。相关:这能
我试图在一个Typescript项目中使用Immer和Redux
Redux reducer的类型可以为:
Reducer<State, Action>
减速器
我应该能够创建一个等效的减缩器,它允许我们对草稿副本进行变异。但类型不匹配。错误:“Undefined不可分配给…”这可能与redux在开始时将Undefined作为state参数传递有关。如果减速机与减速机不匹配我无法将其传递到createStore
Typescript版本3.5.3
我怎样才能优雅地解决这个问题?
.html页面
<iframe width="100%" height="100%" src="{{url}}" frameborder="0" allowfullscreen></iframe>
<iframe width="100%" class="embed-responsive-item" height="100%" src="" frameborder="0" allowfullscreen></iframe>
根据url更改下拉列表
我有一个用TypeScript编写的web应用程序,它与webpack捆绑在一起。有一个纯javascript的配置文件,它简单地设置了如下对象:
var productsConfig={
“德”:{
货币SYMBOL前缀:“”,
currencySymbolSuffix:“&euro;”,//空格加€
货币分隔符:“,”,
产品:{
“1”:{productTitle:“Product 1”,productPrice:“0.95”,productSize:“200g”,productImgUr
我有一个用Typescript编写的Firebase云函数,在这里我访问一个Google存储桶
如果我得到这样的桶:
const storageBucket = admin.storage().bucket(storageBucketName);
import { Bucket, File } from "@google-cloud/storage"
VScode显示storageBucket具有Bucket类型
但如果我尝试将此用作函数的参数:
async functi
在firebase项目中,我从一个私有git项目导入了一个npm库。像这样:
npm install --save git+https://tronpd@bitbucket.org/name/name.git
当我运行firebase deploy时,CLI希望再次访问repo,而所有代码都在节点_模块中。依我的拙见,不需要请求访问这些回购协议
有没有一个选项可以用老的vanilla JS风格部署云功能?因为在/lib文件夹中,javascript函数已经在那里构建。Firebase CLI不
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 844 页