我有几个Graphql查询和突变,现在我正在尝试实现删除变异而不返回任何数据:
type Mutation{
addElement(element:ElementData): ID
removeElement(id:ID): ¿?
}
Run Code Online (Sandbox Code Playgroud)
但是,似乎需要删除操作的返回值.有没有办法在graphql中执行"空"响应?我想避免像可能的情况那样返回布尔值或状态标志.
我不确定Graphql删除操作的最佳实践是什么
根据Vue docs,绑定密钥需要在v-for中使用自定义组件:
<template v-for="(task,i) in tasks">
<task-card v-bind:task="task" v-bind:key="i"></task-card>
</template>
Run Code Online (Sandbox Code Playgroud)
我想在子组件(task-card)中使用该键,但是既不使用this.key也不添加key作为prop(是保留的Vue关键字).有没有办法做到这一点,而没有通过另一个价值"我"的道具?目前正与之合作"vue": "^2.5.9".
目前,我有一个Vue.js组件,其中包含其他组件的列表.我知道使用vue的常用方法是将数据传递给子节点,并从子节点向父节点发送事件.
但是,在这种情况下,我想在单击父级中的按钮时在子组件中执行方法.这是最好的方法吗?
我目前有一个在 docker 容器中运行的小型服务器,该服务器使用 RabbitMQ,该服务器由docker -compose 使用DockerHub 映像运行。
它运行良好,但我担心它可能没有正确配置用于生产(生产是一个简单的服务器,没有集群或任何花哨的东西)。特别是,我担心RabbitMQ 生产清单中描述的磁盘空间限制。
我不确定如何通过 docker-compose 配置这些东西,因为图像定义的 env 变量似乎非常有限。
我的 docker-compose 文件:
version: '3.4'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
ports:
- "5672:5672"
- "15672:15672"
volumes:
- rabbitmq:/var/lib/rabbitmq
restart: always
environment:
- RABBITMQ_DEFAULT_USER=user
- RABBITMQ_DEFAULT_PASS=secretpassword
my-server:
# server config here
volumes:
rabbitmq:
networks:
server-network:
driver: bridge
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用GitHub Actions进行 CI 测试,到目前为止我的测试工作流程如下:
name: test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm install
- name: test
run: |
npm run lint
npm test
env:
CI: true
Run Code Online (Sandbox Code Playgroud)
.github/workflows/test.yml
它工作正常,除非我想test在测试失败时重试该步骤(或整个工作)一次。
基本上,您获得的行为相同travis-retry:
script:
- npm run lint
- travis_retry npm test
Run Code Online (Sandbox Code Playgroud)
或使用 Gitlab CI:
test:
stage: test
retry: 1
script:
- npm run lint
- npm test
Run Code Online (Sandbox Code Playgroud)
不确定是否有解决此问题的方法或相当简单的解决方法
我正在尝试使用 Typescript 和Mocha编写一些测试。
根据其文档,我最终得到了以下设置:
包.json
{
//...
"scripts": {
"test": "mocha",
},
//...
}
Run Code Online (Sandbox Code Playgroud)
.mocharc.json
{
"extension": ["test.ts"],
"spec": "tests/*.test.ts",
"require": "ts-node/register",
"recursive": true
}
Run Code Online (Sandbox Code Playgroud)
tsconfig.json
{
"compilerOptions": {
"outDir": "dist",
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": false,
"strict": true,
"esModuleInterop": true,
"isolatedModules": true,
},
"files": [
"src/main/main.ts",
],
}
Run Code Online (Sandbox Code Playgroud)
运行npm test会抛出以下错误:TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for [...]/tests/task.test.ts。
这是我唯一的测试,为了完整性,它一直有效,直到我导入一个单独的.ts文件( ):../src/core/task
任务.test.ts
import { assert } from 'chai';
import …Run Code Online (Sandbox Code Playgroud) 我想创建类似于ajax示例的警报,但在确认之前允许外部点击关闭.用户点击确认后,我想禁止外部点击,直到操作完成.
allowOutsideClick像示例中那样将config变量设置为false将永远不允许外部单击,并且我没有在文档中看到以编程方式实现此行为的有效方法.
我在Vue项目中有一些普通的Sweetalert2模态。我想在警报中使用自定义组件。例如:
<template>
<h1>Hello {{name}}</h1>
</template>
<script>
module.exorts: {
props: ["name"]
}
</script>
Run Code Online (Sandbox Code Playgroud)
my_template.vue
而且,在我的Sweetalert模式中:
swal({
titleText: "Hi",
html: '<my-template name="hello"></my-template>'
});
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可行或如何实现。
我有一个 Express 应用程序,我想在我的计算机中作为独立服务器在本地运行,但是,当将其部署到 firebase 云功能时,我需要将其设置为云功能。
有没有一种可靠的方法可以知道应用程序在哪个环境中运行而无需手动设置环境变量或者最佳实践是什么?
例如:
if(isRunningInFirebase()){
exports.myFun=functions.https.onRequest(app)
} else app.listen(3030)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用超棒的字体和布尔玛制作一个可点击的“星形”图标,在Vue中的常规样式和实体样式(fas和far)之间切换,要实现这一点,我需要以下组件:
<template>
<span v-if="isStarred" class="icon starred config-icon clickable-text" @click="unstar">
<i class="far fa-star" title="Unstar Ranking"/>
</span>
<span v-else class="icon unstarred config-icon clickable-text" @click="star">
<i class="fas fa-star" title="Star Ranking"/>
</span>
</template>
Run Code Online (Sandbox Code Playgroud)
该值isStarred正在正确更新,并且span元素也在相应更新。但是,i带有图标的元素直到我完全重新加载页面后才会更新。
我可以用v-show代替,v-if但是我不明白为什么这不起作用。
我正在尝试使用date-fns在两个日期间隔内获得重叠的月份:
const range1 = { start: new Date('2018-01-01'), end: new Date('2019-01-01') }
const range2 = { start: new Date('2018-07-03'), end: new Date('2019-12-01') }
getOverlappingMonthsInIntervals(a, b)) // 6
Run Code Online (Sandbox Code Playgroud)
查看 date-fns 文档,我看到了该方法,getOverlappingDaysInIntervals但几个月没有类似的方法。有没有办法通过 date-fns 或解决方法(除了getOverlappingDaysInIntervals/30)来实现这一点
javascript ×6
vue.js ×5
node.js ×3
sweetalert2 ×2
bulma ×1
date-fns ×1
docker ×1
express ×1
firebase ×1
font-awesome ×1
graphql ×1
mocha.js ×1
rabbitmq ×1
sweetalert ×1
typescript ×1
vuejs2 ×1