Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何运行one';npm启动';对于我的项目目录中的两个不同文件夹_Node.js_Reactjs_Npm_React Scripts - Fatal编程技术网

Node.js 如何运行one';npm启动';对于我的项目目录中的两个不同文件夹

Node.js 如何运行one';npm启动';对于我的项目目录中的两个不同文件夹,node.js,reactjs,npm,react-scripts,Node.js,Reactjs,Npm,React Scripts,我想运行一个npm start命令来运行我的前端文件夹和后端文件夹。目前,我必须在每个文件夹中导航,并分别在两个文件夹上运行命令,才能看到我的应用程序在本地主机上打开。我已经“同时”查看了包,但是在我的package.json文件中实现它时遇到了一些问题。 这是我的前端文件夹的my package.json文件: "scripts": { "start": "set HOST = 'http://localhost' && set PORT=8000 && rea

我想运行一个
npm start
命令来运行我的前端文件夹和后端文件夹。目前,我必须在每个文件夹中导航,并分别在两个文件夹上运行命令,才能看到我的应用程序在本地主机上打开。我已经“同时”查看了包,但是在我的package.json文件中实现它时遇到了一些问题。 这是我的前端文件夹的my package.json文件:

"scripts": {
"start": "set HOST = 'http://localhost' && set PORT=8000 && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"postbuild": "react-snap"
}

在前端运行npm start后,我尝试使用此位运行后端,但它不起作用:

"start": "set HOST = 'http://localhost' && set PORT=8000 && ../backend/ start & react-scripts start"
编辑: 再次尝试后仍有一些问题

以下是我的package.json文件中的脚本

前端文件夹

"scripts": {
"start": "set HOST = 'http://localhost' && set PORT=8000 && react-scripts start",
"build": "react-scripts build",
"test": "jest",
"eject": "react-scripts eject",
"postbuild": "react-snap"
},
后端文件夹

"scripts": {
"start": "node ./bin/www"
},

前端写在React中,后端写在Node中。任何帮助都将不胜感激

在package.json文件夹(后端)中,转到脚本

然后添加以下内容:

"start": "node index.js",
"client": "npm run start --prefix client",
"dev": "concurrently \"npm run start\" \"npm run client\"" 
(假设您的客户端文件夹包含前端服务器)


然后,如果您想同时运行这两台服务器,只需键入npm run dev,并高兴地看到“concurrent”包可以做到这一点

npm i concurrently --save-dev
然后设置
npm运行dev
来执行

"dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""
另一个选项是执行(在Windows CMD中运行):


我曾经面临同样的问题,但现在已经解决了。假设服务器位于“后端”文件夹中,前端位于“客户端”文件夹中

那么,server-side package.json中的脚本应该如下所示:

"scripts": {
    "client-install": "npm install --prefix client",
    "start": "node server.js",
    "server": "nodemon server.js",
    "client": "cd ../ && npm start --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\""
  },
客户端package.json类似于:

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:5000",

然后“npm run dev”同时运行服务器

为什么不在客户端和服务器上都使用1 package.json?我该怎么做?将其移动到前端/后端,或将其移动到项目目录的外部?具有单个根目录,例如/project,其中包含对客户端和服务器都有依赖关系的package.json和node_模块,以及/project中的/client和/server文件夹。我的客户端和服务器文件夹都有自己的节点_模块和package.json…然后将依赖项合并到一个package.json中,该文件可以在package.json文件中找到。然后在/project中重新执行
npmi
"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:5000",