小编Bye*_*oon的帖子

Git拒绝合并不相关的历史.什么是"无关的历史"?

在我的本地,我制作了新的文本文件 - > git add newfile.txt - > commit - > pull origin master - > ERROR!

"拒绝合并不相关的历史".

什么是不相关的历史?什么是相关历史?

git

45
推荐指数
4
解决办法
5万
查看次数

无效的选项:corejs不是有效的顶级选项

我用webpack和babel构建了react项目。

运行良好。

但是,今天我在下面遇到了一些错误。

ERROR in ./index.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: [BABEL] /home/rpf5573/react-discovery-v2/src/admin/admin-client/index.js: Invalid Option: corejs is not a valid top-level option.
        Maybe you meant to use 'targets'? (While processing: "/home/rpf5573/react-discovery-v2/src/admin/admin-client/node_modules/@babel/preset-env/lib/index.js")
    at validateTopLevelOptions (/home/rpf5573/react-discovery-v2/src/admin/admin-client/node_modules/@babel/preset-env/lib/normalize-options.js:49:13)
    at normalizeOptions (/home/rpf5573/react-discovery-v2/src/admin/admin-client/node_modules/@babel/preset-env/lib/normalize-options.js:160:3)
    at _default (/home/rpf5573/react-discovery-v2/src/admin/admin-client/node_modules/@babel/preset-env/lib/index.js:168:37)
  ....
error Command failed with exit code 2.
Run Code Online (Sandbox Code Playgroud)

这是我的 admin-client/.babelrc

module.exports = {
  compact: true,
  presets: [
    [
      "@babel/preset-env",
      {
        modules: false,
        targets: {
          browsers: ["since 2015"]
        },
        useBuiltIns: "usage",
        corejs: "2"
      }
    ],
    "@babel/preset-react"
  ],
  plugins: [
    "@babel/plugin-proposal-class-properties" …
Run Code Online (Sandbox Code Playgroud)

babel reactjs webpack

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

ESLint 在导入的模块“react”中找不到默认导出

问题

import React, { useContext, useEffect, useRef } from 'react';
Run Code Online (Sandbox Code Playgroud)

我打开esModuleInteropallowSyntheticDefaultImports进入tsconfig.json
我还使用eslint-import-plugineslint-import-resolver-typescript来检查导入的情况。

但是,eslint 说“ No default export found in imported module "react".

如何解决这个问题?

背景

技术堆栈

  • 反应:18.2.0
  • @类型/反应:18.0.14
  • 打字稿:4.7.4
  • eslint:8.18
  • @typescript-eslint/eslint-插件:5.30
  • @typescript-eslint/解析器:5.30.5
  • eslint-导入解析器-打字稿:3.1.1
  • eslint 插件导入:2.26
  • eslint-插件-反应:7.30 ...

tsconfig.json

{
  "compilerOptions": {
    "target": "esnext",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "isolatedModules": true,
    "noEmit": true,
    "resolveJsonModule": true,
    "jsx": …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs eslint

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

在打字稿中找不到名称“省略”

背景

我正在上创建我的自定义index.d.ts文件src/@types/index.d.ts。我需要像下面这样合并我的类型。

// src/@types/index.d.ts
declare namespace Admin {
  interface InitialStateFromDB {
    teamSettings: {
      teamPasswords: TeamPassword[],
      teamCount: number
    },
    adminPasswords: string,
    postInfos: PostInfo[] | undefined
  }
  interface InitialState extends Omit<InitialStateFromDB, 'adminPasswords'> {
    adminPasswords: AdminPassword
  }
}
Run Code Online (Sandbox Code Playgroud)

问题

我得到了错误:Cannot find name 'Omit'.ts(2304)VSCode Intellisense给出了。但是编译效果很好。

所以,我做了省略类型type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>(在这里复制)

编译后,我又遇到了一个错误: 'Omit' was also declared here.

在这种情况下我该怎么办?只是忽略IntelliSense的错误?

typescript

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

为什么 StructuredClone 不复制 Function 对象?

MDN表示“结构化克隆算法无法复制函数对象;尝试抛出 DataCloneError 异常。”

为什么使用StructuredClone()复制函数对象会发出错误?

javascript

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

style-loader 如何与 css-loader 配合使用?

我知道 style-loader 通过注入标签将 CSS 添加到 dom 中。并且 css-loader 在遇到 .css 时将 css 作为字符串获取require('./style.css');

但是,style-loader 如何与 css-loader 一起玩?

我正在阅读 style-loader 源代码和 css-loader 源代码。但我无法理解他们是如何一起玩的。

css-loader 从 style.css 中获取的 css 字符串如何传递给 style-loader?

webpack

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

打字稿如何克隆除一键之外的对象

我有两个接口。除了一把钥匙之外,它们真的很相似。

interface InitialStateFromDB {
  uploads: {
    companyImage: string,
    map: string
  },
  adminPasswords: string,
  postInfos: PostInfo[] | undefined
}

interface InitialState extends Omit<InitialStateFromDB, 'adminPasswords'> {
  adminPasswords: AdminPassword
}
Run Code Online (Sandbox Code Playgroud)

我从 DB 获得了 initialState。

const initialStateFromDB: InitialStateFromDB = window.__PRELOADED_STATE__;
Run Code Online (Sandbox Code Playgroud)

然后我从initialStateFromDB 中提取每个属性的值来生成initialState。

let adminPasswords: AdminPassword = JSON.parse(initialStateFromDB.adminPasswords);
const initialState : InitialState = {
  uploads : initialStateFromDB.uploads,
  adminPasswords,
  postInfos: initialStateFromDB.postInfos
}
Run Code Online (Sandbox Code Playgroud)

但我认为除了 adminPasswords 属性之外,还有一种更简单的合并方法。所以我搜索了这个。

克隆一个 js 对象,除了一键

但是,我不知道如何在打字稿中做到这一点。

所以,我的问题是“如何克隆除 Typescript 中的一个键之外的对象”

typescript

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

在打字稿中使用multer和express

背景

我正在制作一个简单的网站,用户可以在其中上传图片。我正在使用 Node/React/Multer/ Typescript

问题

app.post('/admin/uploads', async (req, res) => {
  uploadHandler(req, res, (err) => {
    ...
    if ( req.files.companyImage !== undefined ) {
      ...
    }
    res.sendStatus(201);
  });
});
Run Code Online (Sandbox Code Playgroud)

打字稿智能感知显示如下错误。

Property 'companyImage' does not exist on type '{ [fieldname: string]: File[]; } | File[]'.
Property 'companyImage' does not exist on type '{ [fieldname: string]: File[]; }'.ts(2339)
Run Code Online (Sandbox Code Playgroud)

但是,我不明白为什么这是错误。我认为filesobject 有 type { [fieldname: string]: File[]; }。这意味着files对象可以具有字符串属性。

所以我用简单的例子进行测试。

type myType = {
  [fieldName: string]: number
}

let …
Run Code Online (Sandbox Code Playgroud)

node.js express typescript multer

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

react-native Gradlew 不会创建 app.aab

系统信息

  1. 反应原生:0.59.8
  2. 安卓工作室:3.3.1

背景

我正在制作简单的本机应用程序。我尝试将我的应用程序上传到 Google Play 商店,但失败了。我遵循了这个文档。正如它所说,我./gradlew buildRelease在终端上打字。结果如下。

> Configure project :react-native-voice
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
WARNING: Configuration 'testCompile' is obsolete and has been replaced with 'testImplementation'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
WARNING: The specified Android SDK Build Tools version (23.0.2) is ignored, …
Run Code Online (Sandbox Code Playgroud)

typescript react-native react-native-android

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

addEventListener的回调函数在Event Loop中的宏任务队列中排队?

我知道, , setTimeoutapi的回调函数是在宏任务队列中排队的。setIntervalsetImmediate

但是,我不确定addEventListener

addEventListener的回调函数是否在宏任务队列中排队?

请检查:D

javascript event-loop

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