对于 TypeScript Nodejs 应用程序中的以下导入
import { pipeline } from "stream/promises";
Run Code Online (Sandbox Code Playgroud)
vscode / eslint 正在抱怨Unable to resolve path to module 'stream/promises'
这突然开始发生。
node -v v16.13.2
pnpm -v 6.29.1
"@types/node": "^17.0.12"
Run Code Online (Sandbox Code Playgroud)
stream/promises是节点的一部分。我已经确认管道功能和打字稿类型存在并且可以工作,并且整个应用程序仍然可以运行。
console.log({ pipeline }); // { pipeline: [Function: pipeline] }
Run Code Online (Sandbox Code Playgroud)
导入工作正常stream进行,没有任何投诉。我已在 Windows 10 和 Linux 计算机上确认了此错误。发生了什么事以及如何解决而不忽略它?
在 Typescript 中,有一个Pick Utility Type。在 C# 中可以做同样的事情吗?例如:
public class SomeClassA {
public string SomePropA { get; set; }
public string SomePropB { get; set; }
public string SomePropC { get; set; }
}
public class SomeClassB Pick<SomeClassA, SomePropA, SomePropB> {
}
Run Code Online (Sandbox Code Playgroud) 我想向 apollo 服务器添加一个验证层。它应该在每个 graphql 查询/突变之后但在解析器函数之前运行。验证层需要知道被调用的 graphql 查询/变异以及传递的参数。如果无效,它将抛出错误并阻止解析器功能运行。
我不清楚在哪里注入它而不手动将它放在每个解析器函数中。
根据nodejs框架的不同,通常有两种方法来管理错误。
throw new Error('invalid id');)return { 400: 'invalid id' };)由于旧的建议是抛出错误效率低下,我总是尝试返回错误,但我更喜欢抛出错误,因为它们更方便。唯一一篇提到性能影响的文章是 Node v0.1。
这仍然是真的吗?
更新1
Nvm,我意识到我可以自己测试一下。以下代码供参考:
import { performance } from "perf_hooks";
function ThrowException() {
throw new Error("invalid exception");
}
const _ATTEMPT = 1000000;
function ThrowingExceptions() {
const p1 = performance.now();
for (let i = 0; i < _ATTEMPT; i++) {
try {
ThrowException();
} catch (ex: any) {
// log error
}
}
const p2 = performance.now();
console.log(`ThrowingExceptions: ${p2 - p1}`);
} …Run Code Online (Sandbox Code Playgroud) 我正在创建一个chrome应用程序,用于解密从我的PBX服务器发送到我的Gmail帐户的mp3并播放它们.我已经完成了除gmail中的音频播放器之外的所有内容.我有两个选择:
我想尽可能多地重用代码,并且无法找到带有搜索条的预制Web Audio API播放器.所以,我尝试尝试选项2,以下是我去的地方
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
context.decodeAudioData(arr.buffer, function (soundBuffer) {
windowURL = window.URL || window.webkitURL;
var audio = document.createElement("audio");
audio.src = windowURL.createObjectURL([soundBuffer]);
var someDiv = document.getElementById("testDiv");
someDiv.appendChild(audio);
audio.onload = function (e) {
windowURL.revokeObjectURL(this.src);
}
}, function (err) {
console.log("couldnt decode buffer");
});
Run Code Online (Sandbox Code Playgroud)
它失败并且"无法在'URL'上执行'createObjectURL':未找到与提供的签名匹配的功能." 我该如何正确编码这个函数来创建一个可以被chrome的mp3播放器或soundmanager2使用的url?
我正在扩展WPF Richtextbox的功能。我希望某些文本在键入时变为粗体。我能够使某些文本变为粗体,但粗体字后面的文本也将变为粗体...
这是我的代码示例:
private bool _Running = false;
void CustomRichTextBox_TextChange(object sender, TextChangedEventArgs e)
{
if(_Running)
return;
_Running = true;
//Logic to see if text detected
//Logic to get TextPointers
//Logic to get TextRange
var boldMe = new TextRange(textPointer1, textPointer2);
//Bold text
boldMe.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
_Running = false;
}
Run Code Online (Sandbox Code Playgroud)
我想要:
没结没结没结没结
但是我得到的是:
没结没结没结没结
**请注意,键入时它将变为粗体。
如何防止加粗单词后的文本也加粗?
由于提供的链接的可接受解决方案适用于WinForms,其余解决方案适用于预设文本,因此没有重复的问题。
我一直在尝试构建一个带有多个警报的 React 应用程序,这些警报在一段时间后消失。示例:https : //codesandbox.io/s/multiple-alert-countdown-294lc
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
function TimeoutAlert({ id, message, deleteAlert }) {
const onClick = () => deleteAlert(id);
useEffect(() => {
const timer = setTimeout(onClick, 2000);
return () => clearTimeout(timer);
});
return (
<p>
<button onClick={onClick}>
{message} {id}
</button>
</p>
);
}
let _ID = 0;
function App() {
const [alerts, setAlerts] = useState([]);
const addAlert = message => setAlerts([...alerts, { id: _ID++, message }]); …Run Code Online (Sandbox Code Playgroud) 所以我厌倦了使用一堆memo, useMemo, 并useCallbacks保持我的分层应用程序响应。相反,我构建了一个名为的反应钩子useStateChange(我通常不需要 onChange 提供的即时更新)。
function useStateChange(valuesInit) {
const [values, valuesSet] = useState(valuesInit);
useEffect(() => valuesSet(valuesInit), [valuesInit]);
const onChange = useCallback(({ target: { value } }) => valuesSet(value), []);
return [onChange, values, valuesSet];
}
function TestInput({ value0, onBlur }) {
console.log("Test ran");
const [onChange, value1] = useStateChange(value0);
return (
<>
<h4>
Value1:{" "}
<input type="text" value={value1} onChange={onChange} onBlur={onBlur} />
</h4>
<h5>Value1: {value1}</h5>
</>
);
}
Run Code Online (Sandbox Code Playgroud)
可以在CodeSandbox找到工作示例。
由于此功能几乎将用于每个输入,是否有任何方法可以进一步提高性能?
我知道人们会抱怨不要过度优化,但这将成为我的应用程序的重要组成部分,如果它的功能处于最佳状态,它会更好。如果我对我的useStateChange功能进行了优化,我就不会遇到当前的性能问题...
我有多种类型,形成了当前在我的服务器上使用的更大、复杂的类型。是否可以将更大、复杂的类型打印到控制台/文件中?
例子
type TypeA = {
prop1: string;
prop2: number;
}
type TypeB = Omit<TypeA, "prop2">;
console.logType(TypeB);
// {
// prop1: string;
// }
Run Code Online (Sandbox Code Playgroud) 这是/sf/answers/3523659331/的后续问题。
它提到knex('table').where('description', 'like', '%${term}%')容易受到 sql 注入攻击。甚至评论也提到第一种情况容易发生注入攻击。然而,提供的参考文献从未提到.where容易受到注入攻击。
这是一个错误吗?为什么 knex 允许.where容易受到注入攻击而不是.whereRaw('description like \'%??%\'', [term]). 不是在这两种情况下参数都被参数化了吗?
我在使用 NextJS 的组件时遇到了困难Image。我想设置一个横幅图像。无论屏幕尺寸如何,该图像在任何时候都只能覆盖屏幕上的一定空间。max-height: 30vh我已经让它主要与和的组合一起使用overflow: hidden。但是,当屏幕尺寸发生变化时,我似乎无法使图像居中。它应该从看到整个图像到聚焦在床上有所不同。相反,它的重点是图片的天花板。
实时示例:https ://codesandbox.io/s/nextjs-image-layout-lc7vb?file=/src/pages/index.tsx
const Index = (props: IBlogGalleryProps) => (
<Main
...
>
<div className="w-full overflow-hidden" style={{ maxHeight: '30vh' }}>
<Image width="300" height="200" layout="responsive" src="https://images.unsplash.com/photo-1519494080410-f9aa76cb4283?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80" />
</div>
...
</Main>
);
Run Code Online (Sandbox Code Playgroud) 要继续我的课程项目,我需要识别示例exe的编程语言.以下是我对exe的了解:
起初我假设它是一个C++/CLI项目,但我也发现了一个对System.Windows.Forms的引用和可以反编译为C#的方法.
这个exe编写的编程语言是什么?
更新1:使用ILSpy,我发现exe是"混合+本机代码",根据@xanatos建议.我也注意到它引用了Microsoft.VisualC.
更新2:至于我的参考以及可能需要帮助来识别.net引用的exe的其他人,我做了以下事情:
.corflags通过ILSpy的IL视图检查以确定它是ILOnly还是混合hidebysig通过ILSpy(我点击了入口点,它将我重定向到方法,然后我将视图更改回IL)我正在尝试创建一个满足以下条件的正则表达式:
我做了以下但它没有按预期工作
^[0\.|1-9\d*\.]\d{2,2}$/
Run Code Online (Sandbox Code Playgroud)
使用https://regexr.com/进行测试
javascript ×10
c# ×3
typescript ×3
react-hooks ×2
reactjs ×2
.net ×1
audio ×1
audio-player ×1
c++ ×1
css ×1
currency ×1
eslint ×1
exception ×1
graphql ×1
html ×1
html5 ×1
import ×1
knex.js ×1
next.js ×1
nextjs-image ×1
node.js ×1
performance ×1
regex ×1
richtextbox ×1
sql ×1
textrange ×1
throw ×1
try-catch ×1
types ×1
wpf ×1