为双目录项目运行 NPM 监视脚本

Posted

技术标签:

【中文标题】为双目录项目运行 NPM 监视脚本【英文标题】:Run NPM watch scripts for double-directory projects 【发布时间】:2021-09-04 09:50:39 【问题描述】:

我正在使用 Nuxt 和 Strapi 构建一个项目,我想知道是否可以使用单个监视脚本而不是打开两个终端会话然后分别运行脚本来开发它们。

我目前的文件夹结构是这样的:

- Main project
package.json <- Main script location?
- - Frontend
- - - Package.json <- Nuxt dev
- - Backend
- - - Package.json <- Strapi develop

我在主脚本中尝试了以下内容:

  "scripts": 
    "start": "cd ./Frontend && yarn dev && cd ../Backend && yarn start"
  

但是,正如预期的那样,yarn (nuxt) 开发人员在观看文件时保持一致,不会进一步执行脚本。

是否有专门针对 VSCode 的选项可以自动执行此操作?某种 VSCode 任务?

【问题讨论】:

【参考方案1】:

在最后一句话中回答了我自己的问题。

我已经使用 VSCode 任务实现了它。 F1 -> 配置任务 -> 任意

之后,只需将"tasks" 数组替换为这样的对象:


  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    
      "label": "Client Watch",
      "command": "yarn",
      "args": ["dev"],
      "options": 
        "cwd": "$workspaceFolder/Frontend"
      
    ,
    
      "label": "Server Watch",
      "command": "yarn",
      "args": ["develop"],
      "options": 
        "cwd": "$workspaceFolder/Backend"
      
    ,
    
      "label": "Watch",
      "dependsOn": ["Client Watch", "Server Watch"]
    
  ]

【讨论】:

以上是关于为双目录项目运行 NPM 监视脚本的主要内容,如果未能解决你的问题,请参考以下文章

为运行二进制文件的NPM脚本设置CWD

你要知道的 Npm Script 都在这里

mac下使用npm run dev(webpack)端口占用问题

npm : 无法将“npm”项识别为 cmdlet函数脚本文件或可运行程序的名称。

开始你的第一个npm脚本工具

Heroku 网站:npm 错误!缺少脚本:开始