小编use*_*322的帖子

无法使用NodeJS/ExpressJS和Postman获取POST数据

这是我服务器的代码:

var express = require('express');
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.json());

app.post("/", function(req, res) {
    res.send(req.body);
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});
Run Code Online (Sandbox Code Playgroud)

从邮递员,我发起一个POST请求到http:// localhost:3000 /并在Body/form-data中我有一个键"foo"和值"bar".

但是我在响应中不断得到一个空对象.该req.body物业总是空的.

我错过了什么?在此输入图像描述

node.js express postman body-parser

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

WorkManager - 如何按顺序执行作业

我有一个服务侦听传入的FCM通知.收到此类通知后,我使用WorkManager运行作业.

当同时收到多个通知时,如何确保当时只执行一个作业?作业应按顺序执行.在这种情况下,我想发送短信,这些不能同时发送.(请注意,在发送短信之前和之后,我会在此作业中执行其他类似的http请求,这就是为什么我决定为它创建一个作业,而不是直接从服务发送短信.)

public class MyFirebaseMessagingService extends FirebaseMessagingService {
    public void onMessageReceived(RemoteMessage remoteMessage) {
        //...
        OneTimeWorkRequest sendSmsWorker = new OneTimeWorkRequest.Builder(SendSmsWorker.class).build();
        WorkManager.getInstance().enqueue(sendSmsWorker);
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了WorkManager文档中的高级部分; 它提到了链式序列,但是这些必须明确地链接到彼此(beginWith/then/then/...).

android android-workmanager

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

graphql-tag:如何获取正文请求的实际字符串?

我想使用该库https://github.com/apollographql/graphql-tag 我正在寻找比我更聪明的人,了解如何实际使用它。

假设我有一个 GraphQL 查询文档,如下所示:

const query = gql`
  {
    user(id: 5) {
      ...User_user
    }
  }
  ${userFragment}
`
Run Code Online (Sandbox Code Playgroud)

现在如何获取要添加到 http 正文请求中的字符串?我最终得到一个对象,它允许我进行一些内省和操作,这很好,但是如何获取服务器请求的实际正文字符串?

我想我错过了一些明显的东西......

javascript graphql graphql-js apollo-client graphql-tag

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

(!)插件 svelte:未指定自定义元素“标签”选项

我尝试将 Svelte 组件编译为 Web 组件。

  1. 添加了选项<svelte:options tag="date-picker" immutable={true}/>
  2. 添加customElement: true到汇总中plugins: [ svelte()
  3. 跑步npm run build

但我一直收到这样的消息:

(!) 插件 svelte:未指定自定义元素“标签”选项。要自动注册自定义元素,请指定一个带有连字符的名称,例如 。要隐藏此警告,请使用

我究竟做错了什么?

我的index.js文件:

export { default as default } from './DatePicker.svelte';
Run Code Online (Sandbox Code Playgroud)

DatePicker.svelte文件:

<svelte:options tag="date-picker" immutable={true}/>

<script>
  /* code */
Run Code Online (Sandbox Code Playgroud)

汇总文件:

import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import pkg from './package.json';

const name = pkg.name
    .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
    .replace(/^\w/, m => m.toUpperCase())
    .replace(/-\w/g, m => m[1].toUpperCase());

export default {
    input: 'src/index.js',
    output: [ …
Run Code Online (Sandbox Code Playgroud)

svelte svelte-component

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

如何在 Svelte 中获取组件的 dom 节点?

假设我呈现以下对话框:

let dialog;

<MyDialog bind:this={dialog}/>
Run Code Online (Sandbox Code Playgroud)

我想定位这个对话框(afterUpdate我猜是使用生命周期函数)。但是,dialog不是 dom 元素。当我记录它时,它看起来像:

MyDialog {$$: {…}, left: 785, $set: ƒ, $capture_state: ƒ, $inject_state: ƒ}
$$: {fragment: {…}, ctx: Array(1), props: {…}, update: ƒ, not_equal: ƒ, …}
$capture_state: () => {…}
$inject_state: $$props => {…}
$set: $$props => {…}
someExportedProp: (...)
__proto__: SvelteComponentDev
Run Code Online (Sandbox Code Playgroud)

我怎样才能访问它的 dom 以定位它?

svelte svelte-3

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

将值传递给广播接收器,在循环中 putExtra,

简而言之:我有一个 BroadcastReceiver 可以侦听 SMS 交付收据。onReceive 被调用,但我如何识别收据是关于哪条短信的?将值放入 Intent 不起作用,因为如果我同时发送三个 SMS,每次我都会得到最后一个 SMS 标识符(putExtra() 似乎用相同的键覆盖值)

细节:

我有一个类可以监听 GCM 推送通知 ( MyGcmListenerService)。一种方法将解析来自服务器的 JSON 数据;数据包括一组 ID、文本消息和数字,例如:

{"texts":[{"id":"11","number":"0494587693","text":"hello"},{"id":"12","number":"0494635478"," text":"world"},{"id":"13","number":"0487533693","text":"foo"}]}

对于每条文本消息,该方法将启动SendSmsService将发送 SMS的 IntentService ( )。见下面的代码:

JSONObject object = new JSONObject(stringResponse);
JSONArray texts = object.getJSONArray("texts");

for (int i = 0; i < texts.length(); ++i) {
    JSONObject jsonObject = texts.getJSONObject(i);
    int id = jsonObject.getInt("id");
    String number = jsonObject.getString("number");
    String text = jsonObject.getString("text");

    Intent mServiceIntent = new Intent(this, SendSmsService.class);
    startService(mServiceIntent);
}
Run Code Online (Sandbox Code Playgroud)

发送短信的代码SendSmsService

Intent sentIntent …
Run Code Online (Sandbox Code Playgroud)

android

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

继承 CSS 变量,或回退到默认值

假设我是某个 Web 组件的库作者;我想允许用户设置我的组件的背景颜色。我通过设置允许这样做--background-color。例如,用户可以编码:

:root {
  --background-color: green;
}
Run Code Online (Sandbox Code Playgroud)

现在在我的组件中,我想要获取用户的 值--background-color,或者使用默认颜色:

.some-component {
  display: contents;
  --background-color: var(--background-color, red);
}
Run Code Online (Sandbox Code Playgroud)

然而上面的代码不起作用。我不介意,有解决方法;但我想知道为什么它不起作用,如果有人有答案的话。

在下面的代码中,预期是绿色,但该行--background-color: var(--background-color, red);似乎以某种方式“破坏”了 CSS。

:root {
  --background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
.some-component {
  display: contents;
  --background-color: var(--background-color, red);
}
Run Code Online (Sandbox Code Playgroud)

css css-variables

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

无法在 Windows 上使用 nvm 降级 Node.js

我正在尝试通过nvmWindows 10 降级 Node 的版本,但无法让它工作:

C:\projects>nvm全部使用16.13.2
现在使用节点v16.13.2(64位)

C:\projects>节点-v
v17.4.0

(32位和64位上的我nvm installnvm use16.13.2;还尝试重新启动命令提示符,但始终显示v17.4.0)

node.js nvm

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

Windows 命令:“命令的语法不正确。”

为什么这个命令在 Windows 上不正确?

mkdir dist && copy node_modules/todomvc-app-css/index.css public/todomvc-app-css.css
Run Code Online (Sandbox Code Playgroud)

windows cmd

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