小编Bon*_*Oak的帖子

如何知道npm`unzip`模块何时完成解压缩文件?

我正在使用unzipnpm中的模块来提取zip存档的内容.我需要知道何时完成解压缩并且文件已完全写入磁盘.

我的代码:

fs.createReadStream('master.zip').pipe(unzip.Extract({ path: 'gitdownloads/repo' }));
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

我的第一个想法是我可以点击流并监听结束事件,但unzip只接受输入:它不会返回另一个流.

我还看了看unzip模块是否有"完成"回调.没运气.

javascript zip asynchronous callback node.js

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

无法使用 Mailgun 接收传入邮件

我正在尝试使用 mailgun 设置入站邮件。我想通过 support@mydomain.com 接收电子邮件。(出于隐私原因更改)

  • Mailgun 的所有 DNS 检查均通过。
  • 我已经设置了路线。表达式是match_recipient("support@mydomain.com")动作是forward("me@gmail.com")
  • 当我使用路线测试工具时,它正确匹配我的路线。

但是,当我在现实生活中向 support@mydomain.com 发送电子邮件时,我收到失败通知。错误信息是:

Your message cannot be delivered to the following recipients: 

Recipient address: support@mydomain.com 
Reason: Remote SMTP server has rejected address 
Diagnostic code: smtp;550 5.7.1 Relaying denied 
Remote system: dns;mxb.mailgun.org (TCP|17.172.80.96|58312|52.5.239.85|25) (ak47 ESMTP ready)
Run Code Online (Sandbox Code Playgroud)

我在这里缺少哪一步?

email api smtp mailgun

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

Safari 打印时不显示多列布局

我正在开发一个需要打印报告的网络应用程序。该报告的建议显示在两列中:

.container {
  column-count: 2;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <p>recommendation 1</p>
  <p>recommendation 2</p>
  <p>recommendation 3</p>
  <p>recommendation 4</p>
  <!-- repeat many times -->
</div>
Run Code Online (Sandbox Code Playgroud)

这适用于除 Safari 之外的所有浏览器。Safari 在浏览器中正确布局页面,但否则会回退到单列布局。

我该怎么做才能防止这种行为并使 Safari 在打印时保持多列布局?

注意:我已经通过上面的确切代码验证了这种行为,但显然,如果不将代码粘贴到单独的文件中,就无法对其进行测试。

html css printing safari

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

将 actix_web 响应正文提取到字符串中的正确方法是什么?

我正在尝试使用actix_web来获取并显示网页的内容。HTTP 请求成功完成,我可以查看网页,但我想将正文读入String打印。

我尝试过let my_ip: String = response.body().into();,但收到一条错误消息

error[E0277]: the trait bound `std::string::String: std::convert::From<actix_web::httpmessage::MessageBody<actix_web::client::response::ClientResponse>>` is not satisfied
  --> src/main.rs:16:53
   |
16 |                 let my_ip: String = response.body().into();
   |                                                     ^^^^ the trait `std::convert::From<actix_web::httpmessage::MessageBody<actix_web::client::response::ClientResponse>>` is not implemented for `std::string::String`
   |
   = help: the following implementations were found:
             <std::string::String as std::convert::From<&'a str>>
             <std::string::String as std::convert::From<std::borrow::Cow<'a, str>>>
             <std::string::String as std::convert::From<std::boxed::Box<str>>>
             <std::string::String as std::convert::From<trust_dns_proto::error::ProtoError>>
   = note: required because of the requirements on the impl of `std::convert::Into<std::string::String>` for `actix_web::httpmessage::MessageBody<actix_web::client::response::ClientResponse>`
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所拥有的:

use …
Run Code Online (Sandbox Code Playgroud)

actor rust rust-actix

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

确保所有矢量分量都大于某个数字

我有一个vec2包含x和y坐标.我需要确保它们都大于16.我的第一次尝试:

if (gl_FragCoord.xy > 16.0) {
  // do something..
}
Run Code Online (Sandbox Code Playgroud)

它无法使用"无匹配操作数"错误进行编译.

如果我分别比较矢量的每个维度,它就有效.

if ((gl_FragCoord.x > 16.0) && (gl_FragCoord.y > 16.0))
  // do something..
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法一次检查向量的所有元素?

opengl glsl

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

尽管有“flex: 1”和“flex-basis: 0”,Flexbox 子项并不相等

我有一个flexbox有两个孩子的人。我希望两个孩子有相同的大小,尽管一个有填充而另一个没有。

这是一个演示。我希望蓝色和绿色框的大小相等:

html, body, .container {
  margin: 0;
  width: 100%;
  height: 100%;
}

.container {
  display: flex;
}

.container div {
  flex: 1;
  min-width: 0;
  flex-basis: 0;
}

.first {
  background: cornflowerblue;
}

.second {
  background: lightgreen;
  padding: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="first"> </div>
  <div class="second"> </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用width: 50%,但这不是方向不可知的,如果我添加更多元素就会中断。

html css flexbox

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

if-let 语句的语法是什么?

我在一些示例代码中遇到了这个片段。它工作正常,但我收到一个 linter 错误,指出它应该构造为 if-let 语句。

match event {
  glutin::Event::WindowEvent { event, .. } => match event {
      glutin::WindowEvent::Closed => return glutin::ControlFlow::Break,
      glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h),
      _ => (),
  },
  _ => ()
}
Run Code Online (Sandbox Code Playgroud)

这是我重组它的尝试:

if let _ = glutin::Event::WindowEvent { event, .. } {
    match event {
       glutin::WindowEvent::Closed => return glutin::ControlFlow::Break,
       glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h),
       _ => (),
   }
}
Run Code Online (Sandbox Code Playgroud)

糟糕,这是一个语法错误。清除 linter 警告的正确方法是什么?

仔细查看代码后,我发现我不明白语法。 glutin::Event::WindowEvent { event, .. }看起来像创建新实例的语法WindowEvent,但是如何在匹配语句中允许这样做呢?

还有,是什么..意思?我熟悉..Default::default(),但不熟悉双点本身。

syntax rust

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

单击div外部时如何关闭菜单?

我希望能够在用户单击外部时关闭弹出菜单。我怎样才能在纯 JS 中做到这一点?

这是我目前正在使用的代码:

function list(){
	var r= document.getElementById('l2');
	if (r.style.height==="0px"){
            r.style.height="500px"  
        } else {
            r.style.height="0px";}
}
Run Code Online (Sandbox Code Playgroud)
#logo-menu img {
  width: 4vw;
  height: 2.79vw;
  border-radius: 3px;
  border: 0px solid rgba(0, 0, 0, 0.5);
  transition: 0.3s;
  z-index: 3;
  margin: 0% 0% 0% 0%;
  position: relative;
  top: 0.0vw;
  background: rgba(230, 230, 230, 1);
}

#logo-menu img:hover {
  filter: invert(100%);
}

#logo-menu img:active {
  filter: saturate(20);
  transform: scale3d(1.01, 1.01, 1.01);
}

#l2 {
  margin: -0.17% 0% 0% 0%;
}

#l2 ul {
  width: …
Run Code Online (Sandbox Code Playgroud)

html javascript dom-events

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

标准库中是否有任何函数可以返回两个数字中较大或较小的数字?

我可以使用以下代码自己实现:

fn max(a: f32, b: f32) -> f32 {
    if a > b {
        return a;
    } else {
        return b;
    }
}
Run Code Online (Sandbox Code Playgroud)

自己实施它感觉多余.

math rust

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