小编Kar*_*ric的帖子

Node Express.js - 从内存下载文件 - 'filename必须是一个字符串'

我正在尝试将内存中的数据打包成文本文件并将其发送给用户,从而触发文件下载.

我有以下代码:

app.get('/download', function(request, response){

    fileType = request.query.fileType;
    fileName = ( request.query.fileName + '.' + fileType ).toString();
    fileData = request.query.fileData;

    response.set('Content-disposition', 'attachment; filename=' + fileName );
    response.set('Content-type', 'text/plain');

    var fileContents = new Buffer(fileData, "base64");

    response.status(200).download( fileContents );

});
Run Code Online (Sandbox Code Playgroud)

它不断抛出错误,说Content-disposition的filename参数必须是一个字符串.fileName肯定是一个字符串,所以我不确定发生了什么.

download node.js express

10
推荐指数
2
解决办法
1万
查看次数

Google表格 - 条件格式覆盖背景颜色

我有一个条件格式来为偶数行的背景着色.我有另一种条件格式,可以更改重复单元格的文本颜色,但这会删除偶数行的背景颜色.如果我切换这些格式的层次结构,那么我将丢失文本着色但返回彩色行.

不知道如何解决这个问题.

google-sheets

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

Zsh - 完全删除当前/上一个参数

我在 Macos 上使用 zsh。目前,ctrl+w 删除一个“单词”但在非单词字符处停止。不过这有点奇怪,因为它通常会删除比它应该删除的更多或停在奇怪的地方:

例子:

open -n https://www.google.com // deletes [com][google.][www.][https://(why so much?)]
open -n 'https://www.google.com' // deletes [com'][google.][www.][https://][n '(wtf?)][open -]
Run Code Online (Sandbox Code Playgroud)

我只想向后删除当前字符串直到一个空格字符,从而有效地删除一个参数。我已经在网上查看了可以添加到 .bashrc 的各种 bash/zsh 热键,但似乎没有一个能满足我的要求。

zsh

7
推荐指数
2
解决办法
1863
查看次数

Electron — 无法显示自定义图标

我在以两种不同的方式为我的 Electron 应用程序设置图标时遇到问题:

非打包(通过终端运行应用程序)

我的 main.js 确实指定了一个“图标”值,指向图标文件,但它不适用。

打包(带电子打包机)

我的 package.json 文件指定了 'icon' 键,指向图标文件,我在构建目录中有 .icns (Mac) 文件。我使用 electron-packager 来构建应用程序,但没有应用图标,而是使用默认的电子图标。

不确定我在这里做错了什么,一切似乎都是正确的。

icons packaging node.js electron

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

DOM 更改时触发事件

我正在使用以下 jQuery:

$('table').bind("DOMSubtreeModified",function(){
   myfunction();
});
Run Code Online (Sandbox Code Playgroud)

表的内容被另一个函数修改。但是,这会针对表中更改的每个元素触发上述操作。

有没有办法在所有表更改完成后只触发一次?

javascript jquery events bind

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

NodeJS - 查找未处理的承诺拒绝行

我正在使用事件处理程序来捕获未处理的承诺拒绝,在 SO 上找到:

process.on('unhandledRejection', function(error, promise) {
    console.error('UNHANDLED REJECTION - Promise: ', promise, ', Error: ', error, ').');
});
Run Code Online (Sandbox Code Playgroud)

由于我使用的是nodejs +express,因此打印出代码语句的行号很棘手。我有一个自定义的 console.log2 方法来执行此操作,但我正在尝试使用拒绝处理程序来完成相同的任务。

我已经尝试了各种带有错误堆栈等的调用者/堆栈跟踪技巧,但这些方法都没有正确显示reject()语句所在的行。

编辑

为了澄清,我得到的打印输出不断显示上面的 console.error 语句所在的行号(因此每次都是同一行),然后通过各种承诺库文件/行向后工作。它完全跳过/错过了reject()语句本身所在的行。

javascript event-handling node.js promise

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

Google表格-颜色唯一重复

我正在使用自定义公式:

 =countif(3:3,C3)>1
Run Code Online (Sandbox Code Playgroud)

用文本为重复的单元格上色,但是a / a和b / b的颜色相同。是否可以使每个唯一的重复集具有不同的颜色?

google-sheets

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

ExpressJS 路由 + Websockets - 共享端口

我有一个带有 websockets 的 httpsexpressjs 服务器(使用“ws”包)。据我了解套接字和端口,我应该能够在 websocket 连接旁边添加一条路由。主要用例是使服务器可以卷曲(我在网上看到的 ws curl 请求都不起作用。)

不幸的是我只有 1 个端口可用于服务器和 Websocket。如何设置以便应用程序服务器都可以侦听同一端口?

我看到一些关于 SO 的评论表明它可以完成,但没有代码示例,或者它适用于非常不同的包。

我正在使用“ws”包: https: //www.npmjs.com/package/ws

const port = 8888;
const http = require('http');
const https = require('https');
const express = require('express');
const websocket = require('ws');
const app = express();
      app.use( express.static('public') );
      app.get('/curl', (req, res) => res.send('Hello World')).listen( port );

const httpsServer = https.createServer( credentials, app );
const wss = new websocket.Server({ server: httpsServer });

httpsServer.listen( port, function listening(){
    console.log( 'listening …
Run Code Online (Sandbox Code Playgroud)

https port websocket node.js express

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

Object.entries() 但对象而不是数组

假设我有一个对象:

var obj = { a:{}, b:1, c: new Set() };
Run Code Online (Sandbox Code Playgroud)

如果没有工作,对象就无法迭代,并且 Object.keys/values/entries 并不完全是我想要的。Object.entries() 很接近,但我更希望它返回一个对象数组而不是二维数组,理想情况下引用完好无损(在适当的情况下)。

所以像这样:

Object.items( obj ) = [ { a: {} }, { b: 1 }, { c: new Set() } ];
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用 Object.entries() 创建一个函数来执行此操作,我只是想确认还没有类似的东西。

javascript methods object

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