在我的本地,我制作了新的文本文件 - > git add newfile.txt - > commit - > pull origin master - > ERROR!
"拒绝合并不相关的历史".
什么是不相关的历史?什么是相关历史?
我用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) import React, { useContext, useEffect, useRef } from 'react';
Run Code Online (Sandbox Code Playgroud)
我打开esModuleInterop并allowSyntheticDefaultImports进入tsconfig.json。
我还使用eslint-import-plugin和eslint-import-resolver-typescript来检查导入的情况。
但是,eslint 说“ No default export found in imported module "react".”
如何解决这个问题?
{
"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) 我正在上创建我的自定义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的错误?
MDN表示“结构化克隆算法无法复制函数对象;尝试抛出 DataCloneError 异常。”
为什么使用StructuredClone()复制函数对象会发出错误?
我知道 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?
我有两个接口。除了一把钥匙之外,它们真的很相似。
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 属性之外,还有一种更简单的合并方法。所以我搜索了这个。
但是,我不知道如何在打字稿中做到这一点。
所以,我的问题是“如何克隆除 Typescript 中的一个键之外的对象”
我正在制作一个简单的网站,用户可以在其中上传图片。我正在使用 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) 我正在制作简单的本机应用程序。我尝试将我的应用程序上传到 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) 我知道, , setTimeoutapi的回调函数是在宏任务队列中排队的。setIntervalsetImmediate
但是,我不确定addEventListener。
addEventListener的回调函数是否在宏任务队列中排队?
请检查:D
typescript ×5
javascript ×2
reactjs ×2
webpack ×2
babel ×1
eslint ×1
event-loop ×1
express ×1
git ×1
multer ×1
node.js ×1
react-native ×1