我正在使用 Material UI,但在使用 Skeleton 组件的 Ubuntu 上遇到了严重的错误。在 Windows 上我没有收到此错误并且一切正常,但在 Ubuntu 上我收到以下错误:
./node_modules/@material-ui/lab/esm/Skeleton/Skeleton.js
Attempted import error: 'alpha' is not exported from '@material-ui/core/styles'.
Run Code Online (Sandbox Code Playgroud)
导入取自官方文档:
import Skeleton from '@material-ui/lab/Skeleton';
Run Code Online (Sandbox Code Playgroud)
在 Windows package.json 上,我的依赖项是这些,并且一切正常:
"@material-ui/core": "^4.11.4",
"@material-ui/icons": "^4.11.2"
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 上,它告诉我实验室丢失了(它实际上是骨架应该在的位置,我不知道为什么在 Windows 上它可以工作,尽管没有安装实验室),所以当我在 Ubuntu 上安装实验室后,package.json这是:
"@material-ui/core": "^4.11.4",
"@material-ui/icons": "^4.11.2",
"@material-ui/lab": "^4.0.0-alpha.60"
Run Code Online (Sandbox Code Playgroud)
这就是我在顶部提到的错误的地方。
知道为什么会发生这种情况吗?
我正在使用 web3-react,但我不知道如何在浏览器刷新时保持与 MetaMask 钱包的连接持续。
这是代码:
// define the injectedConnectors
const injectedConnector = new InjectedConnector({
supportedChainIds: [
1, // Mainet
3, // Ropsten
4, // Rinkeby
5, // Goerli
42, // Kovan
],
})
const { chainId, account, activate, active } = useWeb3React()
// activate the wallet
activate(injectedConnector)
console.log(account)
// all good.
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切正常,我激活了我的 MetaMask 钱包,并且正确记录了帐户,并且 active 变量是一个布尔值,会更改为 true。
问题是,当我刷新页面时,活动变为 false,并且我失去了 UI 与 MetaMask 钱包之间的连接。当然,将活动保存到浏览器中不会改变任何内容,因为连接依赖于活动布尔值。
文档缺乏此类信息。
我安装了适用于 Windows 10 家庭版的 Docker 桌面(版本 10.0.19042),但我始终无法使其工作,因为我不断收到此错误:
Microsoft.NET框架是最新版本。安装 Docker 时,我还勾选了该框以安装所有必需的 WSL 组件。这是来自 Docker 的错误消息:
System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: -1
stdout: The attempted operation is not supported for the type of object referenced.
stderr:
at Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) in C:\workspaces\PR-16599\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:line 146
at Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() in C:\workspaces\PR-16599\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\WSL2Provisioning.cs:line 81
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__29.MoveNext() in C:\workspaces\PR-16599\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:line 194
--- End of stack …
Run Code Online (Sandbox Code Playgroud) 我试图让我的 React 应用程序从 localStorage 获取 todos 对象数组并将其交给 setTodos。为此,我需要有一个 useEffect 来监听本地存储中发生的任何更改,所以这就是我所做的:
useEffect(() => {
if(localStorage.getItem('todos')) {
const todos = JSON.parse(localStorage.getItem('todos'))
setTodos(todos);
}
}, [ window.addEventListener('storage', () => {})]);
Run Code Online (Sandbox Code Playgroud)
问题是每次我从 localStorage 添加或删除某些内容时都不会触发 useEffect 。这是让 useEffect 监听 localStorage 的错误方法吗?
我尝试了此处解释的解决方案,但它对我不起作用,我真诚地不明白为什么它应该起作用,因为监听器没有作为 useEffect 中的第二个参数传递
我正在尝试使用按位运算符 & 来评估数组中的数字是偶数还是奇数。
这是我的代码:
arr = [1, 2, 4, 6, 9, 11, 18, 361, 5622, 5623]
arr.forEach(function (el) {
if (parseInt(el.toString(2)) & 1 === 0) {
console.log(`${el} in binary is ${el.toString(2)} and it is an EVEN number`);
} else {
console.log(`${el} in binary is ${el.toString(2)} and it is an ODD number`);
}
});
Run Code Online (Sandbox Code Playgroud)
单独取每个元素,每个元素返回 0 或 1,这将评估一个数字是偶数还是奇数,但在这种情况下,它们都返回奇数。这是我得到的结果:
二进制中的 1 是 1,它是一个奇数
二进制中的 2 是 10,它是一个奇数
二进制中的 4 是 100,它是一个奇数
等等...
我哪里做错了?
每当我尝试使 imagemin 适用于任何类型的图像时,我都会收到此错误:
21:54:49] 开始'imgmin'...
[21:54:49] 'imgmin' 在 47 毫秒后出错
[21:54:49] 类型错误:imagemin.jpegtran 不是函数
at imgmin (D:\Dropbox\Side Projects\JS learning\dev-gulp\gulpfile.js:92:26)
at bound (domain.js:419:14)
at runBound (domain.js:432:12)
at asyncRunner (D:\Dropbox\Side Projects\JS learning\dev-gulp\node_modules\async-done\index.js:55:18)
at processTicksAndRejections (internal/process/task_queues.js:75:11)
Run Code Online (Sandbox Code Playgroud)
我目前正在使用:
这是我的 gulpfile.js:
let mainDir = 'gulp project test';
let gulp = require('gulp'),
browserSync = require('browser-sync').create(),
reload = browserSync.reload,
autoprefixer = require('gulp-autoprefixer'),
sass = require('gulp-sass'),
cleansCSS = require('gulp-clean-css'),
sourcemaps = require('gulp-sourcemaps'),
concat = require('gulp-concat'),
imagemin = require('gulp-imagemin'),
changed …
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何在express.js 上运行 Jest 测试,但收到此错误
Run Code Online (Sandbox Code Playgroud)TypeError: express.json is not a function
但是,如果我注释掉 index.js 中的这两行:
app.use(express.json({limit: '50mb'}));
app.use(express.urlencoded({limit: '50mb', extended: true}));
Run Code Online (Sandbox Code Playgroud)
然后它就会工作并通过前两个测试。我该如何修复这个错误?
我在使用 dotenv 时遇到此错误:
(async () => {
^
TypeError: require(...).config(...) is not a function
Run Code Online (Sandbox Code Playgroud)
Evertyghing 工作正常,直到我需要 dotenv。
这是代码
const puppeteer = require('puppeteer');
const fs = require('fs');
require('dotenv').config()
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: ['--start-maximized'],
defaultViewport: null,
});
const page = await browser.newPage();
...more code here
})()
Run Code Online (Sandbox Code Playgroud)
Dotenv 已正确安装:
"dependencies": {
"dotenv": "^8.2.0",
"puppeteer": "^5.3.1"
}
Run Code Online (Sandbox Code Playgroud) 我正在与 Puppeteer 合作并尝试下载图像。在 Chrom 开发工具控制台上,这会返回我想要的内容:
document.querySelector('.photo img').getAttribute('src')
Run Code Online (Sandbox Code Playgroud)
但使用 Puppeteer 评估函数相同的代码:
let imageSrc = await page.evaluate(() => {
return document.querySelector('.photo img').getAttribute('src');
});
Run Code Online (Sandbox Code Playgroud)
抛出错误:
error: Error: Evaluation failed: TypeError: Cannot read property 'getAttribute' of null
Run Code Online (Sandbox Code Playgroud)
知道为什么会发生这种情况吗?