Mac OS X 中 webStorm + Nodejs + supervisor debug功能异常

Mac OS X 中 webStorm + Nodejs + supervisor debug功能异常

如题 mac os x 下了个WebStorm 8 通过supervisor 开启调试的时候 只要修改了 js代码 supervisor 会重新启动 nodejs 但是会启动失败。。。有没有同学遇到过这种情况啊。。

2 回复

Mac OS X 中 WebStorm + Node.js + Supervisor Debug 功能异常

问题描述

在使用 WebStorm 8 和 Node.js 进行开发时,尝试通过 Supervisor 来管理 Node.js 应用来实现自动重启和调试。然而,在修改 JavaScript 文件后,Supervisor 虽然能够自动重启 Node.js 应用程序,但重启后应用却无法正常运行。

原因分析

这种情况可能是因为 Supervisor 在重新启动 Node.js 应用时,没有正确地传递环境变量或参数。此外,也有可能是因为某些依赖库在重新加载时没有被正确处理。

解决方案

以下是几种可能的解决方法:

  1. 确保 Supervisor 正确配置 确保 Supervisor 的配置文件中包含正确的命令行参数。例如:

    {
      "name": "myapp",
      "script": "app.js",
      "env": {
        "NODE_ENV": "development"
      },
      "watch": ["."],
      "ignore_watch": ["node_modules"]
    }
    

    这里 env 用于设置环境变量,watch 用于指定需要监视的文件夹,ignore_watch 用于忽略不需要监视的文件夹(例如 node_modules)。

  2. 使用正确的 Node.js 版本 确保使用的 Node.js 版本与 Supervisor 兼容。可以尝试更新 Node.js 或 Supervisor 到最新版本。

  3. 检查 WebStorm 配置 确保 WebStorm 的运行配置正确设置。可以在 WebStorm 中配置一个运行配置来启动 Node.js 应用,并确保该配置中包含正确的路径和参数。

  4. 清理缓存 有时候,缓存可能会导致一些问题。可以尝试清理 WebStorm 和 Node.js 的缓存,然后重新启动应用程序。

  5. 使用另一种调试工具 如果上述方法都无法解决问题,可以考虑使用另一种调试工具,例如 nodemonnodemon 的配置和使用方式与 Supervisor 类似,但有时可能会更稳定。

示例代码

假设你有一个简单的 Node.js 应用程序 app.js

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

配置 Supervisor 文件 supervisor.json

{
  "name": "myapp",
  "script": "app.js",
  "env": {
    "NODE_ENV": "development"
  },
  "watch": ["."],
  "ignore_watch": ["node_modules"]
}

使用以下命令启动 Supervisor:

supervisor -c supervisor.json

如果以上方法仍然不能解决问题,建议检查是否有其他特定于环境的配置或依赖项可能导致此问题。


在Mac OS X上使用WebStorm、Node.js以及supervisor进行开发时,如果遇到supervisor重启后无法正常启动Node.js的情况,通常可能是配置或依赖项方面存在问题。以下是一些可能的解决方案:

  1. 检查supervisor版本: 确保你安装的是最新版本的supervisor。你可以通过npm更新supervisor:

    npm install -g supervisor[@latest](/user/latest)
    
  2. 检查启动脚本: 确保你的启动脚本正确无误。一个简单的启动脚本可能如下所示:

    {
      "name": "your-project",
      "version": "1.0.0",
      "scripts": {
        "start": "node app.js"
      }
    }
    

    在WebStorm中,可以通过Run -> Edit Configurations...来配置启动设置。

  3. 确保正确的运行配置: 在WebStorm中配置Node.js运行配置时,请确保选择正确的入口文件,并且勾选了Before launch: TypeScript compilation(如果你使用TypeScript的话)。

  4. 检查依赖项: 确保所有依赖项都已正确安装。可以通过以下命令安装项目依赖:

    npm install
    
  5. 调整supervisor参数: 如果仍然有问题,可以尝试调整supervisor的启动参数。例如:

    supervisor -w . --exec node --debug app.js
    
  6. 查看错误日志: 如果supervisor启动失败,仔细查看错误日志,可能会提供有关问题原因的线索。

如果以上方法都不能解决问题,请提供更多关于启动失败的具体错误信息,以便进一步诊断问题所在。

回到顶部