小编Kri*_*alo的帖子

是否可以为 App Engine Flex 分配静态外部 IP?

Google 有为App Engine Standard 设置外部 IP的文档。但是,我需要为 App Engine Flex 设置外部 IP。

我已按照教程操作,成功创建了一个带有连接到外部静态 IP 的 Cloud Router 和 Cloud NAT 的子网。我通过在其中创建虚拟机实例来测试该设置是否有效,并发现所有出口流量确实源自保留的外部静态 IP。

但是,当我将 App Engine Flex 应用程序部署到该子网时,其请求不会通过保留的静态 IP 进行路由,而是似乎使用 Google 提供的共享 IP 地址池。一切正常,没有部署错误,只是未使用保留的外部IP。该应用程序在 app.yaml 中分配给子网:

network:
  name: default
  subnetwork_name: app-engine-subnet
Run Code Online (Sandbox Code Playgroud)

有关让此 Flex 实例通过保留的外部 IP 路由其出口流量的任何提示吗?我知道可以使用虚拟机实例作为代理来完成此操作,但我更喜欢使用 Cloud NAT。

google-app-engine google-cloud-platform

6
推荐指数
2
解决办法
1173
查看次数

样式组件插值函数中的“缺少函数返回类型”错误

用于从 props 中提取主题数据的插值函数会产生“缺少函数返回类型”。eslint 错误。我已经使用声明合并来输入我的主题数据,如typescript 文档中所述。合并似乎工作正常,因为props.theme是根据我的声明输入的。

该问题可以通过为插值函数指定返回类型来解决

${(props): string => props.theme.colors.secondary}

但我认为这不是必要的,因为我已经props.theme.colors.secondary在类型声明文件中指定了类型。此外,在 vs code 错误弹出窗口中,似乎返回类型是已知的 ( function(...): string),但仍然给出错误。

GitHub 中的代码。

// App.tsx
import React from 'react';
import styled, { ThemeProvider } from 'styled-components';
import theme from 'theme/default';

const StyledApp = styled.div`
  // The error is caused by this interpolator function     
  background-color: ${(props) => props.theme.colors.secondary};
`;
Run Code Online (Sandbox Code Playgroud)
// styled.d.ts
import 'styled-components';

// Extend the default theme type
declare module 'styled-components' {
  export interface DefaultTheme { …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs eslint styled-components

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