小编Leh*_*hks的帖子

打字稿枚举值作为数组

是否可以将 TypeScript 中的枚举值作为数组获取?

像这样:

enum MyEnum {
    FOO = 'foo',
    BAR = 'bar'
}
Run Code Online (Sandbox Code Playgroud)

变成

['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)

enums typescript

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

Typescript Enum Object.values() 返回值

为什么Object.values()Object.keys()总是给这两个键和值?

考虑以下代码:

enum Enum {
    FOO,
    BAR
}

console.log(Object.values(Enum));
console.log(Object.keys(Enum));
Run Code Online (Sandbox Code Playgroud)

其输出将是:

[ 'FOO', 'BAR', 0, 1 ]
[ '0', '1', 'FOO', 'BAR' ]
Run Code Online (Sandbox Code Playgroud)

为什么这样做,我如何只获取键和值?

enums typescript

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

tsconfig 的路径参数和 ESLint

我一直paths在我的tsconfig.json文件中设置选项。到目前为止一切正常。我可以运行我的测试,我可以像往常一样执行程序。我唯一的问题是,ESLint 没有找到使用tsconfig.json.

以下是与问题相关的所有文件:

tsconfig.json:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "allowJs": true,
        "sourceMap": true,
        "outDir": "./dist",
        "rootDir": "./",
        "strict": true,
        "esModuleInterop": true,
        "declaration": true,
        "resolveJsonModule": true,
        "baseUrl": ".",
        "paths": {
            "@/*": ["./src/*"]
        }
    },
    "include": ["src/**/*", "test/**/*", "index.ts"]
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.eslint.json:

{
    "extends": "./tsconfig.json",
    "include": ["src/**/*", "test/**/*", "index.ts", ".eslintrc.js"]
}
Run Code Online (Sandbox Code Playgroud)

.eslintrc.js:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "allowJs": true,
        "sourceMap": true,
        "outDir": "./dist",
        "rootDir": "./",
        "strict": true,
        "esModuleInterop": true,
        "declaration": true,
        "resolveJsonModule": true, …
Run Code Online (Sandbox Code Playgroud)

node.js typescript eslint

8
推荐指数
2
解决办法
2751
查看次数

C# - 一元 ^ 有什么作用?

我检查了一些代码,但在行中出现错误(准确地说是“无效表达式术语“^”)

// choices is a regular array
return choices[^1];
Run Code Online (Sandbox Code Playgroud)

我从未见过一元插入符运算符(我只知道 XOR 运算符,但那个运算符显然需要两个操作数)。这个运算符是否存在,如果存在,它有什么作用?

注意:站点https://www.tutorialsteacher.com/csharp/csharp-operators在优先级表中提到了一个一元插入符运算符,但它没有解释它的作用。

c# syntax operators

7
推荐指数
1
解决办法
773
查看次数

CMake - 用于单个库的 BUILD_SHARED_LIBS

是否有像 BUILD_SHARED_LIBS 这样的变量,但仅适用于单个目标(例如 MyLib_BUILD_SHARED,其中 MyLib 是库)。

我知道我可以使用命令中的STATIC或手动确定库是静态还是动态,但我想要一个可以由用户设置的选项,而不是硬编码的解决方案。DYNAMICadd_library

此致, 莱克斯

cmake

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

vscode - 调试完成后关闭调试控制台

调试完成后是否可以自动关闭调试控制台?现在它保持打开状态,并显示“终端将由任务重用,按任意键关闭它”的文本。

visual-studio-code vscode-settings

6
推荐指数
1
解决办法
2279
查看次数

CMake:生成单个头文件

我目前正在编写一个实用程序库,该库将附带一个预编译的 DLL 文件和库的头文件。到目前为止,有一大堆头文件,但我想将它们全部编译成一个头文件(有点像只预处理#include指令)。

我想知道,是否以及如何使用 CMake 实现这样的一代。

真诚的,莱克斯

c++ cmake

5
推荐指数
1
解决办法
581
查看次数

JavaFX FileChooser 新文件

是否可以使用 JavaFX 文件选择器(或类似的替代方法)来创建新文件?

输入不存在的文件的名称适用于 Linux(确切地说是 Ubuntu),但在 Windows 上,文件选择器不允许这样做。

java javafx file filechooser

4
推荐指数
1
解决办法
2842
查看次数

在compose中根据环境变量公开docker端口

我正在使用 docker compose 来设置应用程序环境。有两个不同的环境:测试和生产。

在测试环境中,我需要公开其他端口(用于调试)。这些端口在生产环境中应保持关闭状态。

我也想使用相同的图像和docker-compose.yml文件。使用相同的图像没有问题,但我在撰写文件时遇到了困难。在其中,我想根据环境变量打开或关闭端口。

当前的设置几乎是标准的,如下所示:

# ...
  ports:
    - "8080:8080" # HTTP Server port
    - "9301:9301" # debug port
# ...
Run Code Online (Sandbox Code Playgroud)

在此示例中,两个端口始终暴露。仅当设置了9301某个环境变量(例如 )时,是否可以公开端口?EXPOSE_DEBUG

docker docker-compose

4
推荐指数
1
解决办法
2703
查看次数

Node TypeScript 删除需要缓存

我想多次重新要求 TypeScript 和 Node 中的模块进行测试。根据这篇文章,应该使用

const config = require('./foo');
delete require.cache[require.resolve('./foo')];
Run Code Online (Sandbox Code Playgroud)

但是,这对我不起作用。另外,当我打印出该对象时require.cache,它是空的。

node.js typescript

2
推荐指数
1
解决办法
1686
查看次数

NodeJS Commander 结构化子命令

我是指挥官的新手,我正在尝试实现这样的命令树:

|- build
|    |- browser (+ options)
|    |- cordova (+ options)
|    |- no subcommands, just options
|- config
|    |- create (+ options)
Run Code Online (Sandbox Code Playgroud)

是否可以将这些命令拆分成多个文件,例如有点像这样:

中央档案:

|- build
|    |- browser (+ options)
|    |- cordova (+ options)
|    |- no subcommands, just options
|- config
|    |- create (+ options)
Run Code Online (Sandbox Code Playgroud)

构建命令的文件:

program.command('browser').description(...);
program.command('cordova').description(...);
program.option(...);
Run Code Online (Sandbox Code Playgroud)

配置命令的文件:

program.command('create').description(...);
Run Code Online (Sandbox Code Playgroud)

我知道 Git 风格的子命令,但这些似乎需要可执行文件(我只有常规的 JS 文件)

node.js node-commander

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

Typescript Winston 编译错误

我想使用 Winston 来记录使用 TypeScript 的 NodeJS 应用程序中的错误。但每当我将 Winston 导入 Typescript 脚本时,我都会遇到同样的十一个错误:

node_modules/winston-transport/index.d.ts:6:23 - error TS2688: Cannot find type definition file for 'node'.

6 /// <reference types="node" />
                        ~~~~

node_modules/winston-transport/index.d.ts:8:25 - error TS2307: Cannot find module 'stream'.

8 import * as stream from 'stream';
                          ~~~~~~~~

node_modules/winston/index.d.ts:4:23 - error TS2688: Cannot find type definition file for 'node'.

4 /// <reference types="node" />
                        ~~~~

node_modules/winston/index.d.ts:6:31 - error TS2307: Cannot find module 'stream'.

6 import * as NodeJSStream from "stream";
                                ~~~~~~~~

node_modules/winston/index.d.ts:121:28 - error …
Run Code Online (Sandbox Code Playgroud)

node.js winston typescript

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

查询每个 ID 的单个最旧记录

假设我有一个包含 foo、bar、creationdate 和 data 列的数据库。

我需要的是一个查询,它查询为 foo 和 bar 的每个唯一组合创建的第一行(即创建日期最低的行)。

例如,对于以下行:

+-----+-----+--------------+----------------+
| foo | bar | creationdate | data           |
+-----+-----+--------------+----------------+
| abc | def | 31.12.2019   | some data      |
+-----+-----+--------------+----------------+
| abc | def | 01.05.2020   | other data     |
+-----+-----+--------------+----------------+
| ghi | jkl | 04.05.2020   | more data      |
+-----+-----+--------------+----------------+
| ghi | jkl | 05.05.2020   | even more data |
+-----+-----+--------------+----------------+
Run Code Online (Sandbox Code Playgroud)

那么期望的输出是:

+-----+-----+--------------+----------------+
| abc | def | 31.12.2019   | some data      |
+-----+-----+--------------+----------------+ …
Run Code Online (Sandbox Code Playgroud)

sql postgresql greatest-n-per-group

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