在 中@types/react,全局JSX命名空间已被弃用:
declare global {
/**
* @deprecated Use `React.JSX` instead of the global `JSX` namespace.
*/
namespace JSX {
...
}
}
Run Code Online (Sandbox Code Playgroud)
由于我启用了 ESLintdeprecation/deprecation规则(来自 plugin eslint-plugin-deprecation),因此我现在收到函数组件返回类型的错误,如下所示:
export default function TestComponent(): JSX.Element { // This JSX is marked as deprecated
return (
<span>Test</span>
);
}
Run Code Online (Sandbox Code Playgroud)
JSX.Element既然全局命名空间已被弃用,那么在这种情况下,正确的返回类型替换是什么JSX?
是否React.JSX.Element如弃用消息中所述:
export default function TestComponent(): React.JSX.Element { ... }
Run Code Online (Sandbox Code Playgroud)
或者是ReactElement这样的:
import { ReactElement } from "react";
export default …Run Code Online (Sandbox Code Playgroud) 在使用 flutter 时,我经常遇到标准库中不同包公开的类型。
例如,FlutterError但同样适用于其他小部件。在编写它并在 VS Code 中使用 IntelliSense 解析要导入的包以使其FlutterError可用时,IntelliSense 在多个不同的包中为我提供 FlutterError:
在这种情况下,它可以从
package:flutter/widgets.dartpackage:flutter/foundation.dartpackage:flutter/material.dartpackage:flutter/cupertino.dartpackage:flutter/rendering.dart我的理解是,material.dart并cupertino.dart提供特定样式的小部件 - 但剩下的部分是什么,我应该导入哪个包,该包应该MaterialApp(..)独立于平台并且也可以在 iOS 上运行?
并且 - 如果它有所不同 - 应该使用哪一个,以便特定于平台的小部件在 Android 和 iOS 上自动用于本机功能,例如日期/时间选择器,以便日期选择器自动成为 Android 上的平台特定变体和平台特定变体在iOS上?
我有一个私人注册表 (gitlab),我的 docker 图像存储在其中。对于部署,会创建一个密钥,允许 GKE 访问注册表。秘密被称为deploy-secret。密钥的登录信息在注册表中很短的时间后就会过期。
我还创建了第二个永久机密,允许访问 docker 注册表,名为permanent-secret.
是否可以用两个秘密指定 Pod?例如:
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: deploy-secret
- name: permanent-secret
Run Code Online (Sandbox Code Playgroud)
Kubernetes 在稍后尝试重新拉取镜像时,是否会识别出第一个秘密不起作用(不允许对私有注册表进行身份验证),然后成功回退到第二个秘密?
我尝试使用 Google Cloud Deployment Manager 在 Google Kubernetes Engine 上启动 Istio,如 Istio快速入门指南中所述。我的目标是为一些非常轻量级的微服务建立一个尽可能小的集群。
不幸的是,使用 1 节点 GKE 时,集群中的 Istio Pod 无法正确启动
簇。例如,istio-pilot 失败,状态为“0 个可用更新副本 - 无法调度”。
我没有发现任何提示表明我的集群资源已超出,所以我想知道:
成功运行 Istio(和一些轻量级微服务)的最小 GKE 集群大小是多少?
我发现的是问题Istio#216但它不包含答案。当然,集群大小还取决于微服务,但我基本上对从最小集群开始感兴趣。
我将 sails.js 1.0 与 vue.js 结合使用,并希望创建一个动态表单,其中包含基于用户偏好的动态输入量。因此,用户应该能够添加另一个输入,输入数据并发送包含动态数据量的完整表单。
我的表格如下所示:
<ajax-form action="addStuff" :syncing.sync="syncing" :cloud-error.sync="cloudError" @submitted="submittedForm()" :handle-parsing="handleParsingForm">
...
<input class="form-control" id="input1" name="input1" type="text" :class="[formErrors.password ? 'is-invalid' : '']"
v-model.trim="formData.input1" placeholder="Input #1" autofocus>
...
<ajax-button type="submit" :syncing="syncing" class="btn btn-dark">Save changes</ajax-button>
</ajax-form>
Run Code Online (Sandbox Code Playgroud)
帆中的动作addStuff如下所示:
module.exports = {
friendlyName: 'Do some stuff',
description: 'Do some stuff with the form data.',
inputs: {
input1: {
description: 'The first input.',
required: true
}
},
fn: async function (inputs, exits) {
// Do some stuff with the inputs
return …Run Code Online (Sandbox Code Playgroud) 我想在 Google Kubernetes Engine 上运行 sails.js 应用程序。在本地运行应用程序 docker 容器效果很好。到 GKE 的部署是通过 gitlab Auto-Devops 管道完成的。到目前为止,将应用程序部署到 GKE 正在运行,我可以使用 gitlab-CI 生成的域访问 sails.js 应用程序的页面 - 例如xyz-review-autodevops-123.my.host.com
但是,当访问页面时,只能加载所请求的页面 - 所有资源(例如图像、javascript 和 css 文件)都不会加载,而是返回 404。
当查看 GKE 中的 nginx-ingress-controller 日志时,我发现请求了这些 url,但结果是 404:
[05/Aug/2018:12:27:25 +0000] "GET /js/cloud.setup.js HTTP/1.1" 404 9 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36" 573 0.004 [my-app-review-autodevops-1232u0-my-app-443] xx.xx.xx.xx:80 9 0.004 404
Run Code Online (Sandbox Code Playgroud)
还经常记录如下错误。我不确定这是否与此问题有关,但仍然想提一下,以防万一:
error obtaining PEM from secret my-app-1239989/review-autodevops-1232u0-my-app-tls: error retrieving secret my-app-1239989/review-autodevops-1232u0-my-app-tls: secret my-app-1239989/review-autodevops-1232u0-my-app-tls was not found" …Run Code Online (Sandbox Code Playgroud) sails.js gitlab-ci kubernetes google-kubernetes-engine kubernetes-ingress
我使用 Google Cloud Datastore 来存储由数据存储生成的 ID 作为主键的实体。此外,在本例中,我还存储每个实体的其他属性owner。
实体在 Google Cloud Datastore 控制台中如下所示:
|Name/ID |owner |...|
|id=5657437197565952 |5634472569470976|...|
Run Code Online (Sandbox Code Playgroud)
然后我想根据key (id)和 属性过滤实体owner过滤实体。
为此,我知道我需要一个复合索引才能同时过滤字段(id)和所有者。所以我使用以下index.yaml文件创建了一个复合索引:
indexes:
- kind: job
ancestor: no
properties:
- name: __key__
- name: owner
# AUTOGENERATED
Run Code Online (Sandbox Code Playgroud)
索引显示在云控制台中,如果我使用云控制台 UI 过滤这两个字段,它会过滤表中的正确实体。我在那里做的过滤器是:
key(job,5657437197565952)5634472569470976但是,当我尝试使用以下代码通过 Google 的 Node.js 库检索该实体时,我没有得到任何结果:
const {Datastore} = require('@google-cloud/datastore');
async function quickStart() {
const projectId = 'myproject';
// Creates a client
const datastore = new Datastore({
projectId: projectId,
}); …Run Code Online (Sandbox Code Playgroud) 我有一个返回主页的主文件,并且在主页上我尝试调用一个新文件(test.dart)。现在的问题是这个test.dart文件抛出了一些我无法解决的错误,因为我对 flutter 和 Firebase Firestore 完全陌生。这是代码test.dart:
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
// import 'package:vola1/colors.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';
class test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
// floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
body: StreamBuilder(
stream: FirebaseFirestore.instance
.collection('countries')
.doc('nW9L4LGpn2MZVyiTyUII')
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return Text('Loading data.. please wait..');
return Container();
},
));
}
}
Run Code Online (Sandbox Code Playgroud)
这是它抛出的错误
======== Exception caught by widgets library =======================================================
The following FirebaseException was thrown building …Run Code Online (Sandbox Code Playgroud) kubernetes ×3
flutter ×2
sails.js ×2
dart ×1
firebase ×1
gitlab-ci ×1
istio ×1
javascript ×1
jsx ×1
node.js ×1
reactjs ×1
typescript ×1
vue.js ×1