小编Kev*_*ski的帖子

在一行/函数中将中间件添加到所有 Firebase 函数

express可以添加中间件,例如app.use(cors())将其添加到所有端点,但是我在 firebase 示例中找不到类似的东西。这是如何在每个函数中应用它的示例(见下文) 不过,我想在全球范围内应用中间件(cors 或其他),因为我有很多功能。

import * as cors from 'cors';
const corsHandler = cors({origin: true});

export const exampleFunction= functions.https.onRequest(async (request, response) => {
       corsHandler(request, response, () => { return handler(req, res) });
});
Run Code Online (Sandbox Code Playgroud)

app.use()在 firebase 中相当于什么?添加和快递服务器是唯一选择吗?

javascript node.js firebase google-cloud-functions

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

使用 NextJS 减少 JS 执行时间

我有一个网站,我正在尝试优化灯塔页面速度排名。我刚刚从使用 nginx 缓存的 SSR 切换到next export使用exportPathMapgetInitialProps(也使用 nginx 缓存)。

感兴趣的特定页面获得大量流量

切换到静态后,第一个内容图像出现在“慢 3G”的 2-2.5 秒内加载。但是 JS 执行时间需要 3-6 秒。

在此处输入图片说明

问题:

  1. 当我使用静态导出时,为什么脚本评估需要 3-6 秒,我的印象是它会很快?

  2. 有没有优化nextjs JS执行时间的方法?或者也许是 webpack 设置?

pagespeed lighthouse reactjs webpack next.js

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

CloudRun 超过最大实例数(1)

我有一个云运行服务(不接收流量),我将最大实例和最小实例设置为 1,以便它始终运行。

部署新实例时,实例计数跳至 3。这是一个问题(我在实例启动时发出一些请求,如果两个实例同时发出这些请求,则会达到 429)。

为什么 CloudRun 实例计数超过我的最大值?

我可以确认我的设置是否正确,并且查看日志有两个新实例启动。

PS:Cloudrun确实有这个消息,这让我觉得我想做的事情是不可能的。我只是认为这是因为停机而不是额外的实例。

使用最大实例数为 3 或更少的修订可能会遇到意外停机。

google-cloud-platform google-cloud-run

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

如何找出 Google Auth Webview 的来源?

我收到一封来自 google 的电子邮件We're writing to let you know that we detected the use of an embedded webview in requests to Google's OAuth 2.0 authorization endpoint in the past 120 days associated with one or more of your OAuth client IDs listed in this email.

  1. 我们的网站只是一个网络应用程序 (smodin.io)

  2. 我们已经使用 google auth 好几个月了,超过了 120 天的期限;根据谷歌的这篇文章,我们应该在几个月前就收到通知(我们也有一个开发环境没有收到相同的电子邮件)。

  3. 我过去收到过来自垃圾邮件安全赏金的电子邮件,内容涉及避免 iframe 劫持登录,我不确定它是否相关。我被告知这实际上并不是一个问题。

我怎样才能知道这embedded webview是从哪里来的?(以及它可能来自的任何相关安全问题)

我们的设置:Firebase 身份验证(谷歌和电子邮件/密码登录)和下一个 JS (reactjs)。

PS:这与通过嵌入式 webview 进行的 Google OAuth 2.0 客户端 ID 授权相同,但没有收到足够的答案,因为我认为最初是以一种糟糕的方式提出的。

android webview google-oauth google-cloud-platform firebase-authentication

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

ReactJS - 停止按钮 onClick 从 <input> 获取焦点

所以我在文件中setState()设置onBlur了一个文件。但是,当我在(父级)中激活文件中的函数时,该in变得模糊。onFocusSocialPost.jsonClick<div>SocialPostList.jsparameterClicked()SocialPost.js<input>SocialPost.js

我该如何做到这一点,以便<button> onClickin不会从in 中SocialPostList.js获取?focus()<input>SocialPost.js

我已经尝试过e.preventDefault()e.stopPropagation()没有成功。文件如下,任何帮助将不胜感激!

SocialPostList.js

import React, { Component } from 'react'
import { graphql, gql } from 'react-apollo'
import SocialPost from './SocialPost'

class SocialPostList extends Component {
    render() {
        const PostListArray = () => {
            return(
            <div onClick={(e) => {e.preventDefault(); e.stopPropagation()}}>
                {this.props.allParametersQuery.allParameters.map((parameter, index) => (
                    <div
                        key={index}
                        onClick={(e) => {e.preventDefault();e.stopPropagation();this.child.parameterClicked(parameter.param, parameter.id)}}
                        >{'{{' + parameter.param …
Run Code Online (Sandbox Code Playgroud)

html javascript focus blur reactjs

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

auth0 自定义数据库操作脚本 - 如何访问 user_id?

我正在使用 auth0,我正在“操作脚本”下创建一个脚本,以将用户保存到我的 mongoDB 数据库。我只需要保存 和emailuser_id我找不到user_id?

代码如下,但user唯一的返回: {"tenant":"tenant-name","connection":"MongoDB-MainDB","email":"xxx","password":"xxx","debug":true}

这是我的代码(这基本上是 提供的示例代码auth0):

function create (user, callback) {
  mongo('mongodb://xxx', function (db) {
    var users = db.collection('users');

    users.findOne({ email: user.email }, function (err, withSameMail) {

      if (err) return callback(err);
      if (withSameMail) return callback(new Error('the user already exists'));
      else {
        users.insert({ "_id" : user.user_id, "email" : user.email}, function (err) {
        if (err) return callback(err);
        callback(new Error(JSON.stringify(user)))
        });
      }
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

auth0教程供参考:https://auth0.com/docs/connections/database/custom-db

mongodb createuser auth0

6
推荐指数
0
解决办法
582
查看次数

停止 Visual Studio 代码推送

然后我commit在 Visual Studio 中做了一个代码push,但是我不小心错过了提交了一个 1GB 的文件。我看到这个错误,并将文件移动到一个.gitignore路径并push编辑该提交,但现在同步这个巨大的提交被卡住了,我不知道如何停止它,而且我在网上找不到信息,有什么建议吗?

PS:我下载了插件 GitLens 来尝试解决问题,右键单击并从 gitlens 恢复提交并没有解决问题

git github visual-studio

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

Cognito 发布确认被多次触发

在reddit上看到这个问题,并相信在遇到同样的问题后应该将其转移到堆栈溢出(https://www.reddit.com/r/aws/comments/bzvhu3/cognito_post_confirmation_being_triggered/

由于某种原因,尽管我的认知用户池注册"triggerSource""PostConfirmation_ConfirmSignUp"两次,但如日志中所示,它运行了两次CloudWatch。第二次失败是因为用户已经在数据库中了,请问是什么问题?

amazon-cognito aws-lambda

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

在本地主机上使用和测试 hCaptcha

如何在本地主机上测试 hCaptcha?

使用密钥时,我收到 CORS 错误,并且在为密钥选择站点时,它特别指出... localhost will not work

captcha hcaptcha

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

React 16.3.*context Provider Err:Expected string或class/func但got:Object

编辑:下面的答案

我在youtube上都遵循了这两个教程(目前没有太多),但它们都不适用于我,它在index.js中向Provider发送了这个错误:

教程1:视频代码

教程2:视频代码

元素类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:object.

我的代码Context.js文件:

import React from 'react'
export const Context = React.createContext();
Run Code Online (Sandbox Code Playgroud)

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter} from 'react-router-dom'
import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { ApolloProvider } from 'react-apollo';

import { Context } from './Context'

const client = new ApolloClient({
    link: new HttpLink({ uri: process.env.API_URL }),
    cache: …
Run Code Online (Sandbox Code Playgroud)

reactjs react-16 react-context

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