小编Ver*_*ion的帖子

使用 .gitignore 忽略项目中的 .env 文件

我正在用 JavaScript(React / Node)做一个项目,我想忽略其中的每个 .env 文件,

我在项目的根目录下不仅有一个 .env 文件,因为我有一个用于前端的文件夹和另一个用于后端的文件夹,

Root
  backend
    .env
  frontend
    .env
  .gitignore
Run Code Online (Sandbox Code Playgroud)

在 .gitignore 文件中:

/node_modules
/backend/node_modules
/frontend/node_modules
/backend/.env
/frontend/.env
Run Code Online (Sandbox Code Playgroud)

node_modules 文件夹将被忽略,但 env 文件不会被忽略,

gitignore 文件位于根目录,但是我应该在每个文件夹中都有一个 gitignore 文件吗?...

git github gitignore

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

process.env.NODE_ENV ===“开发”,即使在生产中

我想部署一个 React 应用程序(用 Create React App 制作)+一个带有 Heroku 的 Node 服务器,

我做到了,但我的应用程序无法从服务器获取数据,

在生产中,我的 process.env.NODE_ENV 等于“development”,这会导致我的代码中出现很多错误的内容,

你知道什么可以让 process.env.NODE_ENV 始终处于“开发”状态吗?在构建时,这个环境变量应该切换到“生产”,不是吗?

environment-variables reactjs create-react-app

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

在 React 中上传文件并将其发送到 Express 服务器

我需要在 React 中上传一个文件,然后将其发送到 Express 服务器(我是 Express 的新手,所以对我来说很难),

我成功地在我的 React 组件中上传了文件,但现在我不知道如何将它发送到我用 Express 制作的后端服务器。

我需要使用什么?Axios 还是 Fetch?获取还是发布?谢谢 !

我的 App.js 文件(前端)

uploadFile = () => {
const { currentFileName, currentFileType } = this.state;
if (currentFileName && currentFileType) {
  fetch('http://localhost:5000/upload/files', {
    method: "POST",
    headers: {
      'Content-type': 'application/json'
    },
    body: JSON.stringify(this.state)
  })
  .then((res) => res.json())
  .then(res => {
    this.setState({
      errorMessage: "",
      successMessage: `Votre fichier ${currentFileName} a bien été uploadé !`
    });
    console.log(res);
    console.log(res.data);
  })
} else {
  this.setState({
    errorMessage: "Veuillez choisir un fichier avant …
Run Code Online (Sandbox Code Playgroud)

node.js reactjs

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

如何在React中动态创建Hook?

我知道我要说的可能是不可能的,但我想用我在 React 中使用类组件所做的功能组件做一些事情,

使用类组件,您可以执行以下操作:

handleChange = (e) => {
  this.setState({
    [e.target.name]: e.target.value
  });
}
Run Code Online (Sandbox Code Playgroud)

this.state."e.target.name" 是使用 e.target.name 的值动态创建的,

但是在功能组件(钩子)中,如何根据输入名称的值动态设置钩子?

它会是这样的(别喊,我知道这是不可能的:D):

function handleChange(e) {
  set`${e.target.name.toUpperCase()`(e.target.value);
}
Run Code Online (Sandbox Code Playgroud)

我知道 99% 的人都告诉我“这不可能”,但我真的很想确定,

谢谢

reactjs

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

重新渲染子组件(React with Hooks)

我有一个名为“Causes”的父组件和一个名为“Graph”的子组件,

有一个名为“datas”的钩子,它是在“Causes”(父级)中创建和更新的,我将其作为 props 传递给“Graph”(子级)。

第一次,一切正常,但是当我更新“Causes”(父级)中的“datas”时,“Graph”(子级)仍然具有旧的“datas”对象数组。

如何强制重新渲染子组件?

const [datas, setDatas] = useState([
    { shop: "00h-8h", value: 250, color: "#A2AAC2" },
    { shop: "8h-12h", value: 420, color: "#A2AAC2" },
    { shop: "12h-16h", value: 500, color: "#A2AAC2" },
    { shop: "16h-20h", value: 80, color: "#A2AAC2" },
    { shop: "20h-00h", value: 80, color: "#A2AAC2" }
]);

useEffect(() => {
  setDatas(newArray); <- this updates data, but the component below always got the old datas
}, []);


return (
  <Graph
                  h={400}
                  w={900}
                  data={datas}
                  defaultKeys={["shop", "value"]}
  /> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

在ReactJS中循环地图内的数组索引

我有一个{metrosImages [0]}中的地图的,我想在每次循环由1递增数目.例如,在第一循环 - > {metrosImages [0]},则{metrosImages [1]},然后{metrosImages [2]}直到循环结束.

代码中的所有内容都有效,我只需要这样做.

const displayTrafic = data.map(line =>
        <Col xs="12" sm="12" md="6" key={line.line}>
            <Media>
                <Media left>
                   {metrosImages[0]}
                </Media>
                <Media body>
                    <Media heading>
                        {line.title}{line.slug === "normal" ? <i className="fas fa-check green"></i> : <i className="fas fa-times red"></i>}
                    </Media>
                    {line.message}
                </Media>
            </Media>
        </Col>
    );
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

区分控制器的2条路由(NestJS)

编辑:当我将 @Get('/random') 移动到其他 2 条路线上方时,它正在工作......很奇怪

我正在做一个 NestJS 服务器,它只获取 Breaking Bad API 的一些路由并在服务器的路由中显示 JSON,

我想创建 3 条路线:

  • 1 返回节目所有字符的 JSON (/characters/all)
  • 1 返回显示的单个字符的 JSON (/characters/:id)
  • 1 返回节目随机字符的 JSON (/character/random)

两个第一条路线正在运行,但我无法获得最后一条路线, 我收到错误 500,显示错误:请求失败,状态代码为 500,目标网址为“https://www.breakbadapi.com/api/”字符/随机”,我不知道为什么是“字符”而不是“字符”

这是我的代码:

characters.controller.ts

import { Controller, Get, Post, Body, Param } from '@nestjs/common';
import { CharactersService } from './characters.service';

@Controller('characters')
export class CharactersController {
    constructor(private readonly charactersService: CharactersService) {}

    @Get('/all')
    getAll() {
        return this.charactersService.getAll();
    }

    @Get(':id')
    getOne(@Param('id') id: string) {
        return this.charactersService.getOne(id);
    }

    @Get('/random')
    getRandom() {
        return …
Run Code Online (Sandbox Code Playgroud)

javascript node.js nestjs

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

将 Oracle 查询输出转换为 json (Oracle / NodeJS)

我正在使用 React / Express (NodeJS) / Oracle 制作一个应用程序,

我有一个从 Oracle 表获取数据的 Express 路线,

这是路线中的部分代码:

let conn;
  try {
conn = await oracledb.getConnection(config);
const result = await conn.execute("select  JSON_OBJECT ('departement' VALUE departement, 'ufh' VALUE ufh, 'libelle' VALUE libelle, 'nomhopital' VALUE nomhopital, 'typeservice' VALUE typeservice, 'actif' VALUE actif)  from Z_SOUPAP2CARTESITE where actif=1");

res.send(result.rows);
}
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中访问路线时,数据具有以下形状:

[["92","028X362","ABC ACCUEIL URG MEDECINE","ANTOINE BECLERE","ADULTE",1],["92","028X472","ABC URGENCES PEDIATRIQUE","ANTOINE BECLERE","PEDIATRIE",1],["92","014X545","APR ACCEUIL URGENCES ADU","AMBROISE PARE","ADULTE",1]]
Run Code Online (Sandbox Code Playgroud)

我想要这个:

[
  {"departement":"92","ufh":"028X362","libelle":"ABC ACCUEIL URG MEDECINE","nomhopital":"ANTOINE BECLERE","typeservice":"ADULTE","actif":1},
  {"departement":"92","ufh":"028X472","libelle":"ABC URGENCES PEDIATRIQUE","nomhopital":"ANTOINE BECLERE","typeservice":"PEDIATRIE","actif":1}
]
Run Code Online (Sandbox Code Playgroud)

oracle json node.js express

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

使用 .split() 获取包含许多空格的用户名的问题(NodeJS 中的 Discord.js)

我正在开发我的 Discord Bot 的一项功能,当您!lolid [enter_username_here]在 Discord 聊天室中编写以下命令时,它会返回玩家的英雄联盟统计数据,

我成功地为一个用户名只有 1 个字的人做到了这一点,但不幸的是,对我来说,英雄联盟的用户名可以有空格(可能的用户名示例:)I AM A GOD

当用户输入以下命令时!lolid [enter_username_here],我将它作为message.content变量保存在我的 JS 文件中,这样message.content.split(" ")[1];我就可以获得他写的用户名,

但是如果用户名包含很多空格,我该怎么办?谢谢,

部分涉及的代码:

if (message.content.startsWith("!lolid")) {
    console.log(message.content.split(" ")); => if someone types !lolid 1 2 3, it returns ["lolid", "1", "2", "3"];
    const username = message.content.split(" ")[1];
    const promise1 = new Promise(async (resolve, reject) => {
      resolve(await getSummonerId(username)); => returns id needed to do the request for the stats
    });
  }
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord.js

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