小编And*_*dre的帖子

Mongoose TypeScript ObjectId 转换 - 类型“string”不可分配给类型“Condition<ObjectId |” 未定义>'

当我通过 ObjectId 字段查询时,我遇到猫鼬查询问题。通过mongoose.Types.ObjectIdstring两者都抛出错误。当我将 ObjectId 转换为 时,TypeScript 才会停止抱怨mongoose.Schema.Types.ObjectId,然后在运行时崩溃,因为它不是有效的 ObjectId。

interface DocumentWithTimestamp extends Document<ObjectId> {
  createdAt: Date;
  updatedAt: Date;
}
Run Code Online (Sandbox Code Playgroud)

首先,我注意到 Document 定义_idObjectId | undefined,这已经使一切变得复杂。

我定义我的架构如下:

export interface LanguageSchema extends DocumentWithTimestamp {
  langCode: string;
  locale: string;
}


interface LanguageModel extends Model<LanguageSchema> {
  mapToLanguage(language: LeanDocument<LanguageSchema> | LanguageSchema): Language;
}

const languageSchema = new Schema<LanguageSchema, LanguageModel>(
  {
    langCode: { type: String, required: true, trim: true },
    locale: { type: String, unique: true, required: true, …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js typescript

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

如何在Docker容器中安装PHP Composer

我尝试找出一种使用docker和laravel创建开发环境的方法。

我有以下dockerfile:

FROM php:7.1.3-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
    mysql-client libmagickwand-dev --no-install-recommends \
    && pecl install imagick \
    && docker-php-ext-enable imagick \
&& docker-php-ext-install mcrypt pdo_mysql
&& chmod -R o+rw laravel-master/bootstrap laravel-master/storage
Run Code Online (Sandbox Code Playgroud)

Laravel要求作曲家在进行数据库迁移时调用作曲家dump-autoload。因此,我需要在docker容器内使用composer。

我试过了:

RUN curl -sS https://getcomposer.org/installer | php -- \
--install-dir=/usr/bin --filename=composer
Run Code Online (Sandbox Code Playgroud)

但是当我打电话

docker-compose up
docker-compose exec app composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

它引发以下错误:

rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"composer\\\": …
Run Code Online (Sandbox Code Playgroud)

php laravel composer-php docker docker-compose

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

Laravel,将JavaScript导入Blade模板的正确方法

我正在使用Laravel 5.6。此页面不适用于我。

pizza / index.blade.php看起来像这样:

@extends('layouts.app')


@section('content')
    <!-- Styles -->
    <link href="{{ asset('css/pizza.css') }}" rel="stylesheet">
    <!-- Scripts -->
    <script src="{{ asset('js/components/pizza.js')}}"></script>
    <div class="container">
        <div class="row justify-content-center">
            <div class="card">
                <div class="card-header">Pizza</div>
                <div class="card-body">
                    <form action="/pizzas" method="post">
                        @if ($errors->any())
                            <div class="alert alert-danger" role="alert">
                                Please fix the following errors
                            </div>
                        @endif
                        @include('pizza.table')
                    </form>
                </div>
            </div>
        </div>
    </div>
@endsection
Run Code Online (Sandbox Code Playgroud)

披萨/table.blade.php:

<div class="pizza-selection">
    <b>Thanks god its pizza day! Select your pizza of the day!</b>
    <table id="pizzas" class="md-box">
        <tr>
            ...
        </tr>
        @foreach ($pizzas as …
Run Code Online (Sandbox Code Playgroud)

javascript php laravel laravel-blade

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

如何让 SSR 与 Fluentui /Remix 一起运行?

如何安装 Fluent UI React 和 remix run?我相信这个问题非常重要,需要在这里解决,因为它是社区采用 office-UI-fabric-react 的绊脚石。

reactjs fluent-ui fluentui-react remix.run

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

使用沉浸器的JavaScript中的DeepCopy对象

我正在使用immer来转换react / redux状态。我也可以使用沉浸法仅复制对象而不进行转换吗?

import produce, {nothing} from "immer"



const state = {
    hello: "world"
}

produce(state, draft => {})
produce(state, draft => undefined)
// Both return the original state: { hello: "world"}
Run Code Online (Sandbox Code Playgroud)

这是来自官方沉浸式自述文件。这是否意味着传递一个空函数以produce返回原始状态或实际原始状态的深层副本?

非常感谢您的帮助 :)!

javascript reactjs redux immer.js

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

如何在 Remix 中使用动态 require?

在 Remix 中action,我使用动态require来检索不同的 JSON 文件:

export async function action({ request }: { request: Request }) {
  const body = await request.formData();
  const country = body.get("country");

  const cities = require(`~/cities_by_country/${country}.json`);

  return cities;
}

Run Code Online (Sandbox Code Playgroud)

这会产生“应用程序错误”:Error: Cannot find module '~/cities_by_country/Afghanistan.json'

事实证明,动态require才是问题所在。像这样对国家进行硬编码是有效的:

const cities = require(`~/cities_by_country/Afghanistan.json`);
Run Code Online (Sandbox Code Playgroud)

我读到,添加"module": esnext(或 es2020 或 es2022)到 tsconfig.json 将启用动态导入,至少对于 React 来说是这样。我尝试过但得到了相同的结果。

我也阅读了这些文档但无济于事:

我缺少什么?

node.js typescript reactjs remix.run

5
推荐指数
0
解决办法
2162
查看次数

Remix - 如何将 websocket 添加到我的项目中

我在 remix.run 上启动了一个独立堆栈项目,我想添加 websocket.io。我想将来部署到 Netlify。你能帮帮我吗,我是新人,真的不知道该怎么办。

我发现可以使用“express”选项启动一个独立堆栈项目,但我不知道它是否与 netlify 兼容。

websocket netlify remix.run

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

如何将 LDAP 属性设置为 NULL

我正在使用 PHP LDAP 库来访问 Microsoft 的 Active Directory,我正在寻找一种清空单值属性的干净方法。

我正在使用 ldap_modify ( http://php.net/manual/de/function.ldap-modify.php ) 来更新活动目录联系人。不幸的是,当我尝试写入空字符串 ('') 时,我收到来自 ldap 库的语法错误。当我没有新的联系人属性时尝试覆盖单值联系人属性时会发生这种情况。

有没有一种干净的方法来删除具有单个值的 ldap 属性?我现在唯一的解决方案是写 ' '(单空格),但我觉得这可能会导致其他问题。

顺便说一下,清理多值属性很简单。LDAP 确实允许插入空数组 (array())。

非常感谢您的支持。

php ldap active-directory

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

在 WebStorm 中更改 JSX 代码样式

我在我的 React 项目中使用了 airbnb ESLint 扩展,这迫使我格式化空/空标签,中间有一个空格:<br />

但是,WebStorm 自动格式化(Prettier)每次都会改变这一点。我在 WebStorm 代码样式设置 ( File > Settings > Code Style) 中找不到 JSX 。

有没有办法更改 WebStorm 的 JSX 格式设置?莫非一个.editorconfig文件的帮助?

javascript jsx webstorm reactjs

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