如何使用TypeScript定义AMD模块中的依赖模块,例如,包括jQuery和下划线。例如,我使用JavaScript时会这样做:
define('moduleA',
['jquery', 'underscore'], function ($, _) {
}
});
如何做到这一点,以便TypeScript编译器生成此代码。由于编译器中的错误,当前在TypeScript中无法正常工作(请参阅)。您需要做的是定义一个模块moduleA,该模块导入jquery和下划线,然后使用-
我一直在尝试将Basarat Ali Syed优秀的typescript编辑器项目的升级到typescript 1.0 RTM
开箱即用的项目工作没有问题,但是它使用的是一个有一年历史的typescript版本,而且编译器api从那时起已经有了很大的变化
为了更新项目,我加入了新的typescript位(lib.d.ts和typescriptServices.js),并着手修复由于api更改而中断的内容
我正处于编译的阶段,ace编辑器上出现了编译错误,但我不明白为什么document、aler
为什么我会遇到这样的错误,还有更多这样的错误?我添加了一个链接到回购协议以及下面的关键代码片段。我想我对依赖和“包含”链接的工作原理有一个基本的误解
csvproc(master)> tsc
node_modules/typescript/bin/lib.core.d.ts(83,5): error TS2300: Duplicate identifier 'configurable'.
node_modules/typescript/bin/lib.core.d.ts(84,5): er
是否有一种现成的方法将我的TypeScript代码中的某些方法或函数标记为仅用于开发/调试,以便在使用Webpack编译时不会进入生产代码
类似as注释的内容从代码中删除
我有时使用一些函数来调试应用程序,但在生产中没有使用。我不想在生产中对它们进行注释,因为团队中的其他人可以在看到这些代码被注释时决定将其作为过时代码删除。TypeScript没有现成的方法,但您可以通过使用任务运行器(如和使用类似的插件)来实现
我以前没有真正使用过Webpack,但我发现了一个插件,可以让你从代码中删除函数。
我试图使用snapsvg从svg文件中提取路径和路径点
Snap.load("../svg/music.svg", function(loadedFragment : Snap.Fragment){
let svg = loadedFragment.select('svg');
let paths = svg.selectAll('path');
paths.forEach(function(element : Snap.Element, idx : number){
console.
看看这个:在文件和
VSCode表示没有错误,npm测试运行正常,但当我在另一个项目中使用该库时,存在一个问题,即RxJS skip方法没有定义
由于在lib文件中使用了测试文件中的RxJS导入,所以库可以编译。我如何避免这种情况,因为让它与测试一起编译而不在外部工作是没有意义的。可能创建拉请求?为什么创建拉请求?我自己开发这个库,我确实希望有一个良好的编译环境来生成可用的二进制文件,并希望TypeScript支持这一点。也许这是我不知道的一个缺少的功能。对不起,我误解了你的问题。也许创建拉请求
如何在Typescript中正确地写这个
var obj = {
kv: {
foo: 'bar',
bar: 'baz'
}
};
for(const k in obj.kv) {
const v = obj.kv[k];
obj.kv[k] = 'prefix' + v;
// error TS7017: Index signature of object type implicitly has an 'any' type.
}
// desired
我试图填充一个数组zvols,其中包含zvols列表的路径名。问题是我在成功获取调用后得到一个空数组
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Observable, Subject, Subscription } from 'rxjs/Rx';
import { EntityUtils }
在我的TypeScript代码中有一个基类,它接受一个对象作为参数之一。我有很多扩展这个基类的类。这看起来像:
class Finances extends I18nBase {
constructor(){
super(require('./finances.tran.json'));
}
}
我使用这种方法为我的站点创建和调试i18n。现在我需要去掉生产代码中的json片段。但我想关闭它们,而不是完全从代码中删除它们,好像我以后可能需要它们
所以我尝试了We
这里有点好玩。假设我们有:
return {
c: p.then(v => new Client(conf).ensure())
}
我需要添加一个布尔值,类似这样:
return {
inject: true
c: p.then(v => new Client(conf).ensure())
}
let addInjectProp = function(target){
target['inject'] = true;
return target;
}
我知道,对于类型为的多个参数或单个参数,我们必须将arrow函数的参数括起来。e、 g
.map((arg1,arg2)=>returnValue)或.map((arg1:ArgType)=>returnValue)
如果我们想从较短的语法箭头函数返回json文本,我们必须将其括起来。e、 g
.map((arg1,arg2)=>({a:1,b:2}))
但是,下面的操作是什么
.map(({value})=>value)
我在一个TypeScript代码库中偶然发现了它,还不知道它在ES6中是
我想显示一个要求输入的模式窗口,例如:“您的新密码:”在用户单击“确定”按钮后调用返回承诺的函数
单击按钮更改密码后将调用的代码:
ChangePassword()
{
modal.PasswordModal().then(res => {/*set new password*/})
.catch(msg => {/*resolve error*/})
}
返回承诺并显示带有输入的模式窗口的代码
PasswordModal() : Pr
考虑一个扩展父类的子类。Stackblitz可用于此问题
ChildClass仅添加公共财产(“智能”):
方法“doStuff”采用以下任一种参数:
class Program {
static main() {
Program.doStuff(new ParentClass());
Program.doStuff(new ChildClass());
}
static doStuff(anInstance: ParentClass | ChildClass){
我能够在嵌套的命名空间中声明枚举。但在类中无法执行此操作
namespace N {
namespace NN {
enum { ONE }; // OK
}
}
namespace N {
class C {
public enum { ONE }; // Error: ';' expected
}
}
正确的语法是什么?这不直接支持,您可以使用声明合并来实现类似的效果,您可以将命名空间与类声明合并:
class C {
}
namespace C {
我有一个字符串枚举,如下所示:
export enum FMEvents {
RECORD_ADDED = "@firemodel/RECORD_ADDED",
RECORD_CHANGED = "@firemodel/RECORD_CHANGED",
RECORD_MOVED = "@firemodel/RECORD_MOVED",
RECORD_REMOVED = "@firemodel/RECORD_REMOVED",
}
我希望能够将函数的输入限制为枚举的字符串值(例如
尝试在JSFIDLE中测试一个非常简单的抽象类实现,但我没有得到任何打印结果。你看到这里有什么不对的地方吗
没有任何console.log正在打印
下面是测试示例
console.log('setup');
interface Activatable {
//ActivateSelf: () => void;
ActivateSelf(): void;
}
//abstract keyword, abstract classes are allowed to implem
我有一个自定义类,我将其注入到另一个组件类中:
export class FormRegister implements IFormRegister, IFormControl {
}
export class A {
constructor(public formRegister: FormRegister) {
}
}
如果我将构造函数添加到类FormRegister()中,它可以正常工作,比如:
export class FormRegister implements IFormR
我有一个打字脚本接口
export interface MyInterface {
valid: boolean;
resourceType: MyEnum;
message: string;
}
和一个枚举
enum MyEnum {
'a',
'b',
'c'
}
是否可以允许MyInterface.resourceType的值为MyEnum中的任何值
当前我的IDE抛出了一个错误
property 'resourceType' of exported inter
我一直在使用带标签的联合类型进行打字识别,我遇到了一些奇怪的事情。如果我打开“实际对象”属性,一切都会按预期工作。但是如果我使用解构,typescript会报告一个错误。我假设它与编译时的解构实际工作方式有关,但我不确定。您可以在
如果不分解结构,鉴别器属性上的开关-大小写,允许TypeScript缩小整个fooOrBar对象的类型,并正确推断该对象上其他属性的类型。这是因为TypeScript理解您试图通过对象的属性进行区分
然而,通过分解结构,discriminate和其他变量(第一个示例中
所以,我一直在努力让Costam规则发挥作用,但无论我做什么,我似乎都无法让它发挥作用
我已经编写了这个自定义规则,对其进行了编译并将其放入相应的文件夹中:
//filename is interfacePascalCaseAndPrefixRule.ts
import * as Lint from "tslint";
import * as ts from "typescript";
export class Rule extends Lint.Rules.AbstractRule {
我有以下的联合类型
type MyUnionType = 'foo' | 'bar' | 'baz'
我想创建一个新的UnionMySubUnion作为子集
type MySubUnion = 'foo' | 'bar'
我希望MySubUnion被约束为其父级MyUnionType
type MySubUnion = 'foo' | 'bas' // => Error Type String 'b...
将一个并集限制为一个子集是很困难的。在TypeScript中,A扩展了B,意思
我发现了一个很棒的github项目,我希望在我的项目中使用它。我肯定我会再次遇到这个问题。所以我真的希望我能在这方面得到帮助。该项目位于URL:。我正在尝试将js文件color小偷.js导入到我的项目中,并在TS文件或组件中使用它。我将该文件添加到angular.json文件中的脚本[]。但是我仍然在访问方法getColor()时遇到问题。我正在使用intelliJ。我无法让intellisense或代码完成工作。这更让我觉得我没有正确导入文件
这是我的ts文件
declare var Colo
我正在使用带有类型脚本的VScode,但我找不到任何直接将我的功能文件移动到步骤定义文件的插件
有谁能给我一个直接从.feature cumber文件中移动.ts的插件吗?希望有人能用这个解决他们的问题
在根目录的.vsCode/settings.json中
添加类似这样的内容,指向步骤定义文件
{
"cucumberautocomplete.steps": [
"cypress/integration/**/*.ts",
我最近遇到了一个npm包,它不是用TypeScript编写的,而是提供了自己的index.d.ts文件。不幸的是,这些类型是不准确的,是由没有维护包的人造成的。当我在tsconfig.json文件的compilerOptions中添加//时,添加skipLibCheck:true。
这将禁用所有*.d.ts文件的类型检查
中描述了该标志
如果您确信您的代码是正确的,另一个选项是在出现错误的行上使用/@ts ignore注释来忽略错误
这里还有一个类似帖子的链接,该帖子还提供了两种可能的解决方案。
如果在控制台中运行,测试运行正常
mocha --require ts-node/register tests/**/*.spec.ts
注:我安装了摩卡和摩卡-g
我想从VisualStudio代码运行单元测试
launcgh.js文件
"version": "0.2.0",
"configurations": [
{
"type": "node",
我得到的后端响应如下:
{
"ReturnModel": {
"Id": 20,
"Name": "tserror.JPG,typeIssue.JPG",
"Description": "testing",
"SubjectId": 100001,
"SubjectTypeId": 100001,
"SubjectLevelId": 100001,
"SubjectOptionId": 100001,
"LanguageId":
我正在用MongoDB和Mongoose测试一个typescript express ap。对于这个测试,我使用jest和mongo内存服务器。
我能够测试在数据库中插入新文档和检索现有文档,但在测试时无法捕获错误
该文档不存在
const getUserByEmail=async(email:string):Promise=>{
试一试{
const user=wait user.findOne({email});
如果(!用户){
const ValidationErrorRobj:Vali
错误消息:错误:函数崩溃。细节:
将循环结构转换为JSON
我收到了这个错误,尽管有一个应该可以工作的琐碎代码。看来,这一定与Firebase模块有关。这是我的密码:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp(functions.config().firebase);
export const addFxTransac
下面是一个用来用方法扩充数据对象的类
export default class ViewModel<T> {
constructor(props: T) {
Object.assign(this, props);
}
foo() {
console.log('This class and children have methods as well as data');
}
}
()
如果没有,有没有更好的方法用访问其数据属性的方法包装普通JS对象?
我有一个沙箱示例
class A {
doSomething() {}
}
class B {}
const collection = {
a: new A(),
b: new B()
}
const findInstance = <T>(list: any, nonInstance: T): T => {
for (const item in list) {
if (list[item] instanceof (nonInstanc
在查看tslint规则的源代码时,我遇到了以下语句:
if (node.parent!.kind === ts.SyntaxKind.ObjectLiteralExpression) {
return;
}
注意节点后的运算符。父项。有趣
我首先尝试使用当前安装的TS版本(1.5.3)在本地编译该文件。由此产生的错误指向爆炸的确切位置:
$ tsc --noImplicitAny memberAccessRule.ts
noPublicModifierRule.ts(57,24):
具有联合类型a
type A = {
b: true
x: number
} | {
b: false
x: string
}
declare const v: A
通过使用if判别块检查属性b值类型以保护类型A的一致性,我可以正确地将属性x分配给正确的类型
if (v.b) { // v.x is number
// ok for compiler
v.x = 3
// compiler error as v.x shou
不太清楚这为什么不起作用
type someTypes = "a" | "b" | "c"
type otherTypes = "d" | "e" | "f"
interface someObject {
foo: string
}
type Data<K> = K extends someTypes ? string : someObject
const doSomething = <K extends someTypes|otherTypes>(key:
标题说明了一切-为什么TypeScript中的Object.key(x)不返回类型数组?这就是Object.keys所做的,因此,TypeScript定义文件作者显然疏忽了,没有将返回类型简单地设置为keyof T
我应该在他们的GitHub repo上记录一个bug,还是直接发送一个PR来为他们修复它?当前的返回类型(string[])是故意的。为什么?
考虑以下类型:
interface Point {
x: number;
y: number;
}
function fn
在我的代码中,我使用的是javascript firebase模块
const FirebaseStore = require('connect-session-firebase')(session)
导入它并在typescript中使用它的正确方法应该是什么 首先,您应该安装连接会话Firebase,我想您已经安装了
如果没有,请运行:npm安装firebase管理连接会话firebase--save
现在安装了连接会话Firebase,您可以开始使用它了
您还需要一个中间件。。。我更喜欢
我添加了以下路由机制
{
path: '/home',
meta: { title : 'Welcome Back, ' + profile.userName + ' – Dashboard | A Company' },
name: 'home',
component: () => import('@/views/Home.vue'),
},
我需要为每一页添加标题。但在运行应用程序时,我看不到上述情况。因此,我在**Vue.app**
watch: {
基本上,我有一个主要的基本抽象类,它当前实现的方法需要划分为不同的类(getesta1,getesta2需要在一个类上,getTestB1,getTestB2需要在另一个类上,等等)
ChildClass将需要在内部提供所有上述方法
我目前的结构如下:
导出抽象类AbstractBase{
//我是抽象的,我需要我的孩子来实现
受保护的抽象httpRequest:TestType;
//我将在内部调用我的抽象方法
公共请求=(…某些参数)=>{
//我在调用我的抽象方法
返回此.httpRequ
我有Vue+Typescript,我想知道是否有更好的方法来描述函数数组的类型。我目前有以下代码。我是否可以定义一个formRules接口,而不是重新声明类型数组boolean | string>,甚至仅仅是boolean | string>
类型CheckFunc={v:string:boolean | string}
键入ArrCheckFunc=CheckFunc[]
let formRules:CheckFunc[]
//或
让formRules:ArrCheckFunc
类型Check
我知道=>的左侧是关于传递参数的,而=>的右侧是函数的主体
因此,我理解如下:
let x = ( a: number, b: number) => { console.log("") }
请解释以下内容:
他们在这里干什么?这有什么用
let myAdd: (x: number, y: number) => number = function(x: number, y: number): number { return x + y; };
^-------
是否可以有一个条件类型来测试可以为空的对象
例如:
function test<T>(a: T): T extends {} ? string : never {
return null
}
let o1: {}
let o2: { fox? }
let o3: { fox }
test(o1)
test(o2)
test(o3) // this one should be 'never'
这不使用条件类型,也不
向我的express服务器发送POST api请求时出现以下错误
Access to XMLHttpRequest at 'localhost:8081/application' from origin 'localhost:8083' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
express服务器使用npm cor
我希望能够确定与哪个接口myValue相对应。鉴于以下情况,如何根据testZero()的返回值记录a或b
您需要编写运行时代码来检查值是否符合接口。当TypeScript代码被编译成JavaScript时,TypeScript接口本身就是。TypeScript类型系统用于在运行时描述类型;它不影响运行时。因此,ITest和ITestTwo将不在检查范围内
此外,将检查其操作数的类型并返回一小组字符串值中的一个;在您的情况下,您可以期望myValue的typeof是“object”。因此,您不能
我正在使用firebase云功能向我的ionic应用程序发送推送通知。在早期,一切正常,但最近出现了一个新的错误,如下所示。它只是在函数执行过程中随机发生(在我看来),导致没有发送推送通知
我联系了Firebase支持部门,他们解释说这一定是我的防火墙的问题,因为它无法建立连接或其他什么,但代码是通过Firebase部署的,所以不是我的笔记本电脑在执行该功能,而是在云上执行谷歌云功能,所以如果这是问题,那一定是他们不明白,还是我错了
无论如何,下面是我通过命令“firebase deploy--
类型“Element”上不存在属性“innerText”
此错误仅适用于第一行
let title1 = node.querySelector('span[class=pv-entity__comma-item]').innerText;
let title2 = node.querySelector('h3').innerText;
为什么??
坦克
我是打字新手。有人能告诉我TypeScript和TypeScript SDK之间的区别吗。
谢谢SDK(软件开发工具包)是一种帮助您使用特定语言进行开发的工具。Typescript是一种有语法的语言,而Typescript SDK是您需要在特定IDE中开发的工具(如语法突出显示等)(如VS代码等)。SDK(软件开发工具包)是一种帮助您使用特定语言开发的工具。Typescript是一种有语法的语言,而Typescript SDK是您需要在特定IDE中开发的工具(如语法突出显示等)(如VS代码等)谢
我在VS代码中看到奇怪的自动完成建议,似乎没有任何上下文。我只期待来自我的TS打字的建议。这些都正确地显示在建议列表的顶部,但还有一大堆选项让我感到困惑,例如#endregion,#region,异步箭头函数
有谁知道:
他们来自哪里
如何禁用它们
我自己找到了答案,就是这个设置:
{
“编辑者建议”:“无”
}
我有一个函数,它的参数可以有3个不同的值。
此函数根据参数返回一个值,因此可以返回三个不同的值
所以我使用了一个开关,它比较参数来确定要返回的值。因此,对于参数的每个可能值,我都有一个安全值
但是,如果我用一个参数调用函数,返回的值是不确定的,TypeScript保留了其他2个值的可能性
函数get(值:“字符串”|“数字”|“布尔”){
开关(值){
大小写“字符串”:
返回“A”;
案例“编号”:
返回1;
案例“布尔”:
返回true;
}
}
var test1=获取(“数字”);
TL.DR.:
我希望与继承同一表的多个实体建立单一关系。为此,我需要指定关系中涉及的实体,并且我希望指定多个实体。在我看来,即使指定的类型继承同一个表,也不可能与多个类型建立关系。可以吗?如果可以,我做错了什么
完整描述:
我将任务实体作为基本实体。出于这个问题的目的,我将删除大部分不必要的列,以便更容易理解
import { Column, Entity, TableInheritance } from 'typeorm';
@Entity('tasks')
@TableInheritan
在Typescript中,我们有时希望基于其他类型构建类型。映射类型允许我们以非常简洁的方式基于现有类型生成新类型,这使我们坚持“不要重复自己”原则
自定义属性:
问题:我们事先不知道对象类型的所有属性
解决方案:我们可以声明自定义属性并使用以下语法键入它们:
映射类型:
问题:我们需要将一个对象类型建立在另一个类型的基础上,而不希望在每个类型中定义所有属性
解决方案:我们可以声明自定义属性并使用以下语法键入它们:
type Person={
名称:字符串;
年龄:弦;
};
/
我在获取特定的Secrets Manager密钥值以通过CDK将其传递给我的lambda时遇到一些问题
过了一段时间,我终于意识到我的SecretValue只有在我实际将其部署到lambda时才能解决,而不是在通过SAM CLI运行本地时。
通过做
我得到了类似于“{\“apiKey\”:\“sdfsdf sdfsdf sddsf\”}“,但我更希望直接获得apiKey。
不幸的是,在我的CDK代码中,我无法JSON:parse(…secretsManager(..).toString()),因
1 2 3 4 5 6 ...
下一页 最后一页 共 452 页