小编Kan*_*now的帖子

Array.prototype.isPrototypeOf 和 A​​rray.isPrototypeOf 有什么区别?

我想知道有什么区别Array.prototype.isPrototypeOfArray.isPrototypeOf我认为它应该工作相同,因为我认为它会引用相同的方法,isPrototypeOf但看起来我错了。有人可以向我解释为什么这样工作吗?

const exampleArray = [1, 2, 3];
console.log(Array.prototype.isPrototypeOf(exampleArray));
console.log(Array.isPrototypeOf(exampleArray)); // Why this statement returns false ?
Run Code Online (Sandbox Code Playgroud)

javascript

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

为什么我得到无法确定 GraphQL 输出错误?

我正在尝试使用Nest.jsGraphQLMongoDB创建简单的应用程序。我想使用TypeORMTypeGraphql来生成我的模式并与 localhost 数据库建立连接,但是我无法运行我的服务器,nest start因为我收到此错误:

UnhandledPromiseRejectionWarning:错误:无法确定 getArticles 的 GraphQL 输出类型

我不知道为什么我会收到这个错误。我的班级ArticleEntity没有任何非主要类型,所以应该没有任何问题。我试图删除() => ID@Field()提起装饰_idArticleEntity类,但它并没有帮助

文章解析器

@Resolver(() => ArticleEntity)
export class ArticlesResolver {
  constructor(
    private readonly articlesService: ArticlesService) {}

  @Query(() => String)
  async hello(): Promise<string> {
    return 'Hello world';
  }

  @Query(() => [ArticleEntity])
  async getArticles(): Promise<ArticleEntity[]> {
    return await this.articlesService.findAll();
  }

}
Run Code Online (Sandbox Code Playgroud)

文章服务

@Injectable()
export class ArticlesService {
  constructor( …
Run Code Online (Sandbox Code Playgroud)

node.js typescript graphql nestjs

8
推荐指数
3
解决办法
7469
查看次数

为什么 WebStorm 在 Vue 组件或 .grapgql 文件中的 apollo 对象内的 gql 查询中显示错误

我对 WebStorm 语法突出显示有问题。我创建了有效的 GraphQL 查询,它适用于 localhost 应用程序,但 WebStorm 说

对象类型“查询”上的未知字段“familyMembers”

并以红色突出显示整个查询。

我真的很困惑,但也许我应该在里面改变一些东西apollo.config.js- 如果是,请告诉我什么。

HelloWorld.vue

<script>
import gql from 'graphql-tag';
export default {
  apollo: {
    familyMembers: gql `
    query familyMembers {
        familyMembers {
            id
            firstName
            lastName
        }
    }`
  },
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

apollo.config.js

module.exports = {
    client: {
        service: {
            name: 'vav',
            // URL to the GraphQL API
            url: 'http://localhost:4000',
        },
        // Files processed by the extension
        includes: [
            'src/**/*.vue',
            'src/**/*.js',
        ],
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript webstorm vue.js graphql vue-apollo

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

我应该在 nuxt.js 服务器目录中构建应用程序的服务器端吗?

我想用Nuxt.js构建全栈应用程序。我想知道我应该在哪里在Nuxt.js 中创建我的服务器端,或者我应该只为服务器内容创建单独的项目。

我正在尝试建立我的项目,但我不知道应该如何做。我正在构建的应用程序将有自己的前端、后端和数据库(我将使用MongoDB)但实际上我不知道应该如何开始。我读了很多关于 SSR 的书,如果我打算在前端使用Vue.js,那么Nuxt.js看起来真的很好。在创建 nuxt 应用程序时,我可以选择使用 Express,然后我可以在我的目录结构中看到服务器目录,这是否意味着我应该在这个目录中构建所有后端,或者它可能只用于小东西?我还有另一个问题,如果我想在后端使用,我可以只使用然后Nest.jsnpm i -g @nestjs/clinest new project-name在我的服务器目录中?我也在寻找这个答案,但谷歌中几乎所有这种类型的结果都是关于(Nuxt.jsNext.jsNest.js之间的比较)。

这将是我的第一个更大的全栈项目,我想把它做对,但我是一个真正的初学者,所以我正在寻找更有经验的程序员的答案。

project node.js vue.js nuxt.js

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

无论如何,是否可以使用 Fastify 在 Nest.js 中获取请求、响应的类型接口

我正在学习 Nest.js,在文档开始时我读到它不仅可以与express一起使用,还可以与fastify一起使用,所以我用fastify设置了我的第一个项目,然后我开始阅读有关控制器的内容,我发现了一个问题。例如,如果我想获取有关用户请求的更多信息,我可以稍微使用一下@Req req: Reguest,并且此req是请求类型,并且很容易从基于Express 的应用程序获取此接口,您只需安装@types/express,然后您可以从以下位置导入请求接口:表达但是如果我使用fastify ,我如何(如果可能的话)获得Request接口?

typescript nestjs fastify

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

如何从嵌套目录访问嵌套模块/文件

假设我的项目中有这样的文件结构:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.lock\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 hotel\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 guest.rs\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 hotel_manager.rs\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 hotel.rs\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lib.rs\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n
Run Code Online (Sandbox Code Playgroud)\n

hotel_menager我只声明我将使用hotelguest模块:

\n
pub mod hotel;\npub mod guest;\n
Run Code Online (Sandbox Code Playgroud)\n

然后在里面lib.rs我声明我将使用hotel_manager模块:

\n
pub mod hotel_manager;\n
Run Code Online (Sandbox Code Playgroud)\n

最后我想在我的二进制文件hotel中使用and但我收到了这个错误:guestmain.rs

\n
\n

找不到模块的文件hotel_manager

\n
\n

然后我想也许我应该使用,use但它也根本没有帮助:

\n
use crate::hotel::hotel_manager;\n
Run Code Online (Sandbox Code Playgroud)\n
\n

未解决的导入crate::hotel

\n
\n

我的Cargo.toml

\n
[package]\nname = "learn_file_spliting"\nversion = "0.1.0"\nauthors …
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo

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

我可以在 Rust 中创建字符串枚举吗?

我想知道是否可以enum在 Rust 中使用常量字符串值创建?

我发现了上一个问题:如何将枚举作为字符串获取?它显示了一个解决方法,我可以用它来字符串化 的变体enum(我可以.to_string()enum变体上使用并将它们的名称作为字符串)。

这个问题很有帮助,但这就是我想要实现的目标:

enum StringEnum {
    Hello = "Hello",
    World = "World"
}
Run Code Online (Sandbox Code Playgroud)

enums rust

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

我们应该使用v模型修改Vuex存储吗?

您好,我是Vue的初学者,确实有一个困扰我的问题。我想知道我们应该使用v-model指令来修改vuex存储吗?Vuex说我们应该只通过突变来修改vuex存储,但是v-model使一切变得更容易和更短。(我问是因为我找不到明确的答案)

javascript vue.js vuex vuejs2 v-model

5
推荐指数
3
解决办法
869
查看次数

用于键入 vuex 商店的通用类型

我正在尝试创建一个通用类型,它将证明Vuex突变的输入提示。我读了这篇文章Vuex + TypeScript,我受到启发去创建更通用的东西。我想出了这样的事情:

export type MutationType<S, P, K extends keyof P> = Record<K, (state: S, payload: P[K]) => void>;

// S
export type DiceGameState = {
  round: number;
  score: number;
  diceItems: DiceHistoryItem[];
};

// P
export interface DiceGameMutationPayloadMap {
  INCREMENT_SCORE: number;
  DECREMENT_ROUND: number;
  ADD_DICE_HISTORY_ITEM: DiceHistoryItem;
}

// K
export enum DiceGameMutationsKeys {
  INCREMENT_SCORE = 'INCREMENT_SCORE',
  DECREMENT_ROUND = 'DECREMENT_ROUND',
  ADD_DICE_HISTORY_ITEM = 'ADD_DICE_HISTORY_ITEM'
}

export type DiceStoreMutation = MutationType<
  DiceGameState,
  DiceGameMutationPayloadMap,
  keyof typeof DiceGameMutationsKeys
>;

export const mutations: …
Run Code Online (Sandbox Code Playgroud)

types typescript vue.js vuex

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

有没有办法获取向量的每个 n * i 元素?

有没有什么聪明的方法来获取n * i向量的每个元素?我有这个向量:

let example = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
Run Code Online (Sandbox Code Playgroud)

我想要这个向量的每三个值,所以输出将是:

let result = vec![3, 6, 9];
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过 for 循环来实现这一点:

let mut result: Vec<i32> = vec![];
let offset = 3;
for (index, value) in example.iter().enumerate() {
    if (index + 1) % offset == 0 {
        result.push(value.clone());
    }
}
Run Code Online (Sandbox Code Playgroud)

vector linear-algebra rust

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

为什么在解包 char 上调用的 .to_digit 选项时出现错误?

我试图将单个char变量解析为 ASCII 值,但我总是收到错误。

根据这篇文章Parsing a char to u32 中hansaplast的答案,我认为这段代码应该有效:

let char_variable = 'a';
let shoud_be_u32_varaible = a.to_digit(10).unwrap();
Run Code Online (Sandbox Code Playgroud)

但这段代码总是会抛出这个错误:

Option::unwrap()线程“main”因“调用一个None值”而惊慌失措

为此,代码示例(在hansaplast的答案中提供的示例):

let a = "29";
for c in a.chars() {
    println!("{:?}", c.to_digit(10));
}
Run Code Online (Sandbox Code Playgroud)

这个.to_digit()方法会起作用。

.to_digit(10)在这两种情况下,我都在类型为 的变量上使用 on char,但对于我的示例,此代码会引发错误,而对于 hansaplast中的代码,此代码有效。有人可以向我解释这些例子和我做错了什么有什么区别,因为现在我非常困惑?

这两个例子都可以在那里找到:Rust Playground example


在这种情况下使用铸造可以吗?

let c = 'a';
let u = c as u32 - 48;
Run Code Online (Sandbox Code Playgroud)

如果没有,你能告诉我,建议这样做吗?

rust

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

相同属性的 setter 和 getter 引起 eslint 签名应该是相邻错误

我创建了一个类(网络组件),在其中声明了两个 setter 和 getter,一个expressionValue用于scoreValue. 现在我收到了这些错误:

所有 'expressionValue' 签名都应该与 @typescript-eslint/adjacent-overload-signatures 相邻

所有 'scoreValue' 签名应该相邻 @typescript-eslint/adjacent-overload-signatures

我想知道如何修复此错误以保留我的 setter 和 getter。或者这是不可能的,只有一种方法是@typescript-eslint/adjacent-overload-signatures: 0.eslintrc.js文件中设置它?

class BinaryExpressionItem extends KKWebComponent implements KKBinaryExpressionItem {
    public static TAG: string = `${CONSTANTS.TAG_PREFIX}-binary-expression-tem`;

    private readonly expression: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('var');
    private readonly score: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('mark');

    constructor() {
        super(template);
    }

    set expressionValue(value: string) {
        this.expression.textContent = value;
    }

    set scoreValue(value: string) {
        this.score.textContent = value;
    }

    get expressionValue(): string {
        return this.expression.textContent ?? ''; …
Run Code Online (Sandbox Code Playgroud)

typescript eslint

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

为什么向 HashMap 插入一个值总是会导致该值为 None?

我正在尝试创建一个Cacher结构,它将计算值存储在HashMap. 该calculation方法将采用一个类型的变量T,进行计算并返回一个具有相同类型的值T。此回调的类型calculation将为Fn(T) -> T.

我发现这个值将是HashMap实现EqHash特征的关键。看起来一切都应该正常,我可以毫无错误地编译我的程序。

然后我编写了一个测试来检查一切是否按预期工作:

use std::{hash::Hash, collections::HashMap};

struct Cacher<T, U>
where
    T: Fn(U) -> U,
{
    calculation: T,
    values: HashMap<U, U>,
}

impl<T, U> Cacher<T, U>
where
    T: Fn(U) -> U,
    U: Eq + Hash + Clone,
{
    fn new(calculation: T) -> Cacher<T, U> {
        return Cacher {
            calculation,
            values: HashMap::new(),
        };
    }

    fn value(&mut self, arg: U) …
Run Code Online (Sandbox Code Playgroud)

types hashmap rust

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