小编ann*_*123的帖子

使用NodeJS在Firebase数据库中创建架构

我不是JS / NodeJS方面的专家,并且我在使用Express-Mongoose方面有一些经验。

现在,我更喜欢MVC方法,这意味着创建模式并导入它。

由于Firebase数据库也恰好不是sql数据库,因此我决定完全按照猫鼬的方式做,但不幸的是我听不懂。

至少可以说,我已经创建了index.js,这是我应用程序的入口。

根据firebase文档,我正在像这样初始化它(index.js

const admin = require("firebase-admin");

//Firbade config file 
const firebaseConfig = require("./functions-config.json")

admin.initializeApp({
    credential: admin.credential.cert(firebaseConfig),
    databaseURL: "https://functions-firebase-43a59.firebaseio.com"
})

const db = admin.firestore()
Run Code Online (Sandbox Code Playgroud)

问题:我们可以像以前在猫鼬中创建一样在firebase db中创建架构吗?

即这是在NodeJS中创建猫鼬模式的示例(models / user.js

const mongoose = require('mongoose')

const userSchema = new mongoose.Schema({
    fullName: String,
    email: String,
    image: String, 
    gender: String,
    profile_id: String,
    createdAt: {type: Date, default: Date.now}
}) 


module.exports = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)

javascript mongoose node.js firebase

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

req.login 在护照上有什么作用

我在我的应用程序中使用了多个护照策略。

现在,由于我使用多通行证策略进行连接(而不仅仅是登录),因此我决定在 Google 上搜索有关如何操作的信息。

这是我偶然发现这段代码的地方

 passport.authenticate('meetup', (err, user, info) => {
        if (err) { return next(err); }
        if (!user) { return res.redirect(process.env.CLIENT_ADDRESS); }
        req.logIn(user, function(err) {
            if (err) { return next(err); }
            return res.redirect(process.env.CLIENT_ADDRESS);
          });
Run Code Online (Sandbox Code Playgroud)

在这里我无法理解正在发生的事情,比如第一个问题,什么是if (!user),这意味着什么 req.user

其次,有 req.logIn()

根据护照文件

Passport 在 req(也称为 logIn())上公开了一个 login() 函数,可用于建立登录会话。

当登录操作完成时,用户将被分配到 req.user。

那么与req.login相比,使用序列化器/反序列化器有什么区别呢?

同样在回调中,我们总是可以这样做

  passReqToCallback: true
  }, (req, accessToken, refreshToken, params, profile, cb) => { 
Run Code Online (Sandbox Code Playgroud)

要得到 req

总结一下,有人可以帮我理解上面的代码片段吗?

node.js express passport.js

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

Vue 原型 Axios

我是 vue 和 Quasar 的新手。

现在,我模糊地了解了Vue 的工作原理,

我试图理解我们在初始化 Quasar 时得到的样板代码

在启动时,我要求它从cli集成axios 和 veux

现在我试图理解在插件文件夹中偶然发现axios.js 文件时的样板

该文件包含以下代码

import axios from 'axios'

export default ({ Vue }) => {
  Vue.prototype.$axios = axios
}
Run Code Online (Sandbox Code Playgroud)
  1. 有人能告诉我这段代码有什么作用吗?根据我的理解,它似乎在vue 中添加了一个称为 axios的方法,以便我们可以全局使用它?

  2. 使用的原因可能是什么$axios?即 Vue.prototype.$axios = axios,我们不能这样做Vue.prototype.axios = axios吗?因为它最终会创建一个属性?

  3. 如果我们可以全局使用 axios(不导入它或换句话说编写import axios from "axios")。那我们怎么做呢?

  4. 我猜这仅适用于.vue文件?

  5. 我习惯于创建一个辅助函数来处理所有网络请求,通常辅助函数文件将是networkRequest.js我导入 axios 并发出请求的地方。这networkRequest.js是发出所有请求的唯一点。因为Vue.prototype.$axios = axios只适用于 …

javascript vue.js quasar axios

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

使用过滤器仅返回键的特定属性

我有一个数组对象,在该数组对象中,我需要根据isVerfied属性过滤并创建一个数组。

如果isVerfied属性为真,我只需要推送对象的 name 属性而不是将整个对象推送到数组中

我试过这个,但它似乎没有工作,因为它正在推动整个对象。

const users = [
   {
         name: 'Varun', 
         age: '18', 
         isVerfied: 'true'
   }, 
   {
         name: 'Rahul', 
         age: '12', 
   }
]
 
const verfiedUserNameNew = users.filter(user => {
     if (user.isVerfied) return user.name
})

console.log(verfiedUserNameNew) 
Run Code Online (Sandbox Code Playgroud)

我也试过地图

const users = [
  {
        name: 'Varun', 
        age: '18', 
        isVerfied: 'true'
  }, 
  {
        name: 'Rahul', 
        age: '12', 
  },
]
         
const verfiedUserNameNew = users.map(user => {
  if (user.isVerfied) return user.name
})

console.log(verfiedUserNameNew)
Run Code Online (Sandbox Code Playgroud)

但随后它返回 varun 和 undefined。我知道另一种解决方案是创建一个数组并运行一个 for.Each 循环,在该循环中放置一个 if 条件,然后将元素推入一个数组中 …

javascript arrays functional-programming

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

何时使用 React Hook

我试图理解 Hooks 的重要性

从 React 文档,它说

They let you use state and other React features without writing a class.
Run Code Online (Sandbox Code Playgroud)

功能组件背后的整个想法是不是将是无状态的,这样它就不会导致重新渲染 React 应用程序?比如,如果你要使用 react hooks,你会在哪里以及为什么使用它?

你总是可以自己创建一个状态,它不会导致功能组件的重新渲染 const state = {}

我的问题是:

  1. 状态在功能组件中的优势是什么
  2. 什么时候在反应中使用反应钩子而不是实际的基于状态的组件

reactjs redux

4
推荐指数
2
解决办法
2657
查看次数

事情是如何传递给 onClick 函数的

我正在审查一个代码,那里用户做了这样的事情

<temp onClick={this.onSelected} />
Run Code Online (Sandbox Code Playgroud)

哪里onSelected看起来像这样

onSelected = (id: string) => {
    [...]
}
Run Code Online (Sandbox Code Playgroud)

id: string这里是怎么通过的?

此外,出于好奇(不是主要功能)。有什么区别

onClick={() => this.onSelected()}
Run Code Online (Sandbox Code Playgroud)

onClick={this.onSelected}
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs

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

Firebase Function not giving Function URL

I am creating my first firebase function app and I was going/following through this tutorial/repo

So what I did was in my main file Index.js (inside functions folder)

const app = express();
const functions = require("firebase-functions");

const authRoutes = require("./src/routes/auth.js");
const meetupRoutes = require("./src/routes/meetup.js");
const eventbriteRoutes = require("./src/routes/eventbrite.js");
const nonMiddleWareRoutes = require("./src/routes/nonMiddleware.js");

app.use("/", nonMiddleWareRoutes);
app.use("/auth", authRoutes);
app.use("/meetup", meetupRoutes);
app.use("/eventbrite", eventbriteRoutes);

const api = functions.https.onRequest(app);

module.exports = {
  api
};
Run Code Online (Sandbox Code Playgroud)

now moving back to the root folder we have firebase.json which …

firebase google-cloud-functions firebase-cli

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

express-async-handler 做什么?

嘿,我想了解 express-async-handler 的作用是什么?

它被用在我正在寻找的其中一个仓库中。

从他们的文档中,它说

用于处理异步快速路由内的异常并将它们传递给快速错误处理程序的简单中间件。

回购链接:https : //www.npmjs.com/package/express-async-handler

有人可以用例子解释一下吗?

javascript node.js

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

类型 '{ src: 字符串; }' 不可分配给类型 'SVGProps&lt;SVGImageElement&gt;

当我做这样的事情时,我收到以下错误

import React from 'react'
import "./../../styles/container.scss"
import './../../styles/common.scss'

interface containerProps {
  icon: String,
  heading: String,
  para: String, 
}


export const IconRowContainer = ({heading, para, icon}: containerProps) => {
  return (
    <div className="icon-row-container-main-div">
      <image src={icon} />
      <div>
        <h2 className="secondary-heading icon-row-container-heading"> {heading} </h2>
        <p className="para icon-row-container-para"> {para}</p>
      </div>
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

错误

类型 '{ src: 字符串; }' 不可分配给类型 'SVGProps'。类型“SVGProps”上不存在属性“src”

知道我在这里做错了什么吗?

typescript reactjs

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

vue中的v-bind是什么

我从Vue开始,然后关注Traversy Media在YouTube上的视频教程

在那里他使用了v-bind,但是我没有正确解释它们是什么(或者至少我无法理解)

出于某种原因,我仍然觉得文档难以理解。

这就是我们正在做的。

<template>
  <div id="app">
    <p>{{msg}}</p>
    <Todos v-bind:todos="todos" />
  </div>
</template>

<script>
import Todos from "./components/todo.vue";
let todo = [
  {
    name: "Rohit",
    title: "Full Stack Developer"
  },
  {
    name: "Varun",
    title: "head of marketing"
  },
];

export default {
  name: "app",
  components: {
    HelloWorld,
    Todos
  },
  data() {
    return {
      msg: "hello",
      todos: todo
    };
  }
};
</script>
Run Code Online (Sandbox Code Playgroud)

问题:1 有人可以理解这段代码吗?

 <Todos v-bind:todos="todos" />
Run Code Online (Sandbox Code Playgroud)

像什么是v-bind,以及为什么我们要使todo的值等于string?(我知道他最终将待办事项作为道具传递给子组件)

然后在todo.vue中,他正在做这样的事情

<template>
  <div v-bind:key="todo.id" v-for="todo in …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

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