小编Dan*_*tos的帖子

Visual Studio代码:编译typescript模块

我刚刚下载了新的Visual Studio Code,我的第一印象非常积极.对于打字稿,intellisense工作得很漂亮.

但是,有一个奇怪的问题:VS Code似乎无法编译typescript模块.

这段代码:

/// <reference path="../definitions/react.d.ts"/>

import React = require("react");
Run Code Online (Sandbox Code Playgroud)

在cmd上编译完全正常

tsc --module commonjs main.ts

但在VS Code中,第二行以红色突出显示,编辑抱怨:

除非提供"-module"标志,否则无法编译外部模块

当然,任何使用模块的打字稿代码都必须使用此标志进行编译.但是如果IDE知道模块的用法,为什么不设置标志呢?没有模块的打字稿代码在保存时编译,没有问题.

我想我错过了一些编译器设置配置文件.有这样的事吗?我在哪里可以找到它?

UPDATE

我添加了tsconfig.json文件:

{
    "compilerOptions": {
        "target": "ES5",
        "module": "commonjs",
        "sourceMap": true
    }
}
Run Code Online (Sandbox Code Playgroud)

这实际上消除了错误.不幸的是,IDE不再编译我的代码.起初我以为config.json只会使错误消息静音,但它确实不止于此.Intellisense现在可以在示例文件中使用.如果我键入React自动完成被触发并且显然知道React,因为显示了有意义的建议.

现在,为什么VS Code没有将文件编译为js?我已经尝试配置任务运行器来完成这项工作,但它似乎不起作用:

{
    "version": "0.1.0",

    // The command is tsc.
    "command": "tsc",

    // Show the output window only if unrecognized errors occur. 
    "showOutput": "silent",

    // Under windows use tsc.exe. This ensures we don't need a shell.
    "windows": {
        "command": "tsc.exe"
    }, …
Run Code Online (Sandbox Code Playgroud)

compilation typescript visual-studio-code

30
推荐指数
3
解决办法
2万
查看次数

Visual Studio 2015上的网站管理在哪里

我在visual studio 2015中找不到网站管理工具.它在哪里?

它曾经在菜单"网站>管理工具"或"项目>管理工具",但现在不再.

asp.net web-applications website-admin-tool visual-studio-2015

15
推荐指数
1
解决办法
3万
查看次数

如何生成TypeScript或ActionScript UML类图?

是否有任何工具可以从TypeScript中的项目或ActionScript等类似语言生成UML类图?

uml class-diagram typescript visual-studio-code

14
推荐指数
2
解决办法
5261
查看次数

如何在 VS Code 中为模板中的 vue 道具启用 Typescript 输入和智能感知?

我正在使用安装了 vetur 扩展的 Vue 和 VS Code。

我已经定义了一个MyClass具有两个公共属性的类。在“脚本”部分中,我能够为该value属性获得适当的智能感知。

但我无法检查智能感知,也无法在模板中输入强制执行。如下图。

在此处输入图片说明

我应该只看到enablednumber

如何配置我的 VS Code 以在模板上强制执行此类型?

typescript vue.js visual-studio-code vetur

13
推荐指数
1
解决办法
3393
查看次数

Jest 测试卡在 bitbucket 管道上,没有任何错误

我们在 CI 中使用 Bitbucket 管道进行测试,我们的应用程序是 NestJS,并使用 Jest 测试了 Typescript。

我们总是让所有测试都运行,但是从现在开始的几天(2022 年 5 月)测试在一些套装后会卡住,测试卡住的套件是相当随机的。

测试不会失败,我们没有任何内存警告或其他任何东西,它只是卡在管道上。我们需要停止管道,因为它永远不会停止。

不幸的是,我们没有发现任何错误,需要进一步调查。

我们可以做什么来检查更多细节?

bitbucket jestjs bitbucket-pipelines nestjs ts-jest

12
推荐指数
1
解决办法
4233
查看次数

如何解决编译器枚举重新声明冲突

请考虑以下C++枚举:

enum Identity
{
    UNKNOWN   = 1,
    CHECKED   = 2,
    UNCHECKED = 3
};

enum Status
{
    UNKNOWN    = 0,
    PENDING    = 1,
    APPROVED   = 2,
    UNAPPROVED = 3
};
Run Code Online (Sandbox Code Playgroud)

编译器将这两个UNKNOWN项冲突并抛出此错误:

错误:重新声明'UNKNOWN'

我能够解决这个错误改变的一个UNKNOWNUNKNOWN_a,但我想不会更改名称.

如何在更改enum项目名称的情况下解决此冲突?

c++ enums enumeration compiler-errors redeclaration

11
推荐指数
3
解决办法
6089
查看次数

C#.什么"类型T必须是引用类型才能将其用作参数." 手段?

我正在尝试在我的MVC C#Entity Framework Application上创建一个通用控制器.

public class GenericRecordController<T> : Controller
{
    private DbSet<T> Table;
    // ... 

    public action()
    {
        // ... 
        db.Entry(T_Instance).State = System.Data.Entity.EntityState.Modified;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,DbSet < T >和T_Instance行有编译器错误.

类型T必须是引用类型才能将其用作参数.

当我限制它为一个类

Controller where T : class
Run Code Online (Sandbox Code Playgroud)

它解决了.

上述错误意味着什么?

我不是要求解决方案.我想理解为什么会出现这个错误以及为什么限制它来解决它.

c# generics controller

11
推荐指数
3
解决办法
2万
查看次数

如何在Visual Studio 2015中重新加载项目后保留"新的解决方案资源管理器视图"?

每次我加载项目时,我都会将我的工作区组织成3个"新的解决方案资源管理器视图".一个解决方案资源管理器用于views文件夹,一个用于models文件夹,最后一个用于controllers文件夹.

但是当我关闭并重新打开我的项目时,它将被设置回默认工作区.可以保留那些创建的解决方案资源管理器视图吗?

"保存"工作区选项不适用于多个解决方案资源管理器.

visual-studio solution-explorer visual-studio-2015

10
推荐指数
1
解决办法
763
查看次数

从JS中不可变数组中删除元素的最简洁方法是什么?

我需要从作为ReactComponent 状态的数组中删除一个元素.这意味着它是一个不可变的对象.

使用扩展语法很容易添加元素.

    return {
        ...state,
        locations: [...state.locations, {}]
    };
Run Code Online (Sandbox Code Playgroud)

删除有点棘手.我需要使用一个中间对象.

        var l = [...state.locations]
        l.splice(index, 1)
        return {
            ...state,
            locations: l
        }
Run Code Online (Sandbox Code Playgroud)

它使代码更加污垢和难以理解.

创建一个从中删除元素的新数组是否更容易或更简单?

javascript arrays immutability reactjs spread-syntax

10
推荐指数
1
解决办法
5624
查看次数

TypeORM,基于关系属性的查询实体

我想根据相关属性查询实体,例如:

const x = await repo.findOne({ name: 'foo', parent: { name: 'foo' }});
Run Code Online (Sandbox Code Playgroud)

但是当我通过其相关查询时它会返回一个空值 parent

我已经添加:relations: ['parent'],已经将关系设置为{eager:true}

当我通过parent: {id: X}它查询时。但我必须按它的名字查询。

我应该怎么做才能让这个查询在 TypeORM 中工作

它类似于:

select * from entity internal join parent ... where entity.name = 'foo' and parent.name = 'foo'

typeorm

9
推荐指数
2
解决办法
2万
查看次数