我正在用 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 文件吗?...
我想部署一个 React 应用程序(用 Create React App 制作)+一个带有 Heroku 的 Node 服务器,
我做到了,但我的应用程序无法从服务器获取数据,
在生产中,我的 process.env.NODE_ENV 等于“development”,这会导致我的代码中出现很多错误的内容,
你知道什么可以让 process.env.NODE_ENV 始终处于“开发”状态吗?在构建时,这个环境变量应该切换到“生产”,不是吗?
我需要在 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) 我知道我要说的可能是不可能的,但我想用我在 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% 的人都告诉我“这不可能”,但我真的很想确定,
谢谢
我有一个名为“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) 我有一个{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) 编辑:当我将 @Get('/random') 移动到其他 2 条路线上方时,它正在工作......很奇怪
我正在做一个 NestJS 服务器,它只获取 Breaking Bad API 的一些路由并在服务器的路由中显示 JSON,
我想创建 3 条路线:
两个第一条路线正在运行,但我无法获得最后一条路线, 我收到错误 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) 我正在使用 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) 我正在开发我的 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)