首页 > 解决方案 > 我如何在 package.json 中运行这个 npm 脚本?(同时)而我的客户和服务器文件夹有自己的目录

问题描述

在尝试做 MERN 教程(Travers Media)时,我也一直在向我做代码的朋友提出一些问题。我没有将客户端文件夹和服务器文件夹分开,这让我的朋友很恼火。但由于我的计划是同时运行后端和前端,它实际上并没有工作。

"scripts": {
    "start": "node server.js",
    "server": "nodemon server.js",
    "client": "npm start  --suffix --prefix client",
    "dev": "concurrently \"npm run server\" && \"npm run client\""

  },

在此处输入图像描述

标签: npmdirectory-structureconcurrently

解决方案


concurrently似乎没有使用&&,也不知道--suffix --prefix client应该做什么。你的意思是启动服务器两次?

无论如何,摆脱并在脚本中&&添加额外内容对我有用--"client"

package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node server.js",
    "server": "nodemon server.js",
    "client": "npm start --  --suffix --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\""
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "concurrently": "^5.3.0",
    "nodemon": "^2.0.4"
  }
}

server.js

const msg = process.argv[process.argv.length - 1] === 'client' ? 'client' : 'server';
console.log(process.argv.join(' '));
setInterval(() => {
  console.log(msg);
}, 2000);

推荐阅读