【问题标题】:How to autorestart node.js application in Eclipse/Aptana Studio on source change while development?开发时如何在 Eclipse/Aptana Studio 中自动重启 node.js 应用程序以更改源代码?
【发布时间】:2013-12-19 13:01:44
【问题描述】:

这实际上不是一个问题,而是某种意义上的指南。 我没有找到更好的地方来发布它。我希望有人觉得这很有帮助。

我厌倦了停止和启动 node.js 应用程序以获取代码更改。 因此,我想要一个解决方案,并且无需安装额外的插件、软件包或其他任何东西。在 Windows 8.1 x64 上使用标准 Aptana Studio 3.4 (Eclipse) 功能的纯解决方案如下:

  1. Project Explorer > Properties > Builders 中右键单击您的项目
  2. 新... > 程序 > 确定
  3. 名称:终止现有 node.js 进程
  4. 位置:C:\Windows\System32\taskkill.exe(${env_var:SystemRoot}\System32\taskkill.exe 对我不起作用,可能对你有用)
  5. 工作目录:浏览工作区... > 选择您的项目 > 确定
  6. 参数:/IM node.exe /F
  7. 切换到构建选项选项卡并勾选在自动构建期间取消勾选 在后台启动 > OK李>
  8. 创建另一个构建器:新建... > 程序 > 确定
  9. 名称:开始
  10. 位置:C:\Program Files\nodejs\node.exe(你也可以试试 ${env_var:ProgramFiles}\nodejs\node.exe)
  11. 工作目录:与第 5 点相同
  12. 参数:app.js(或应用程序入口点的任何其他文件)
  13. 切换到构建选项标签并同时勾选 在自动构建期间在后台启动 > OK李>
  14. 开启项目自动构建:Window > Preferences > General > Workspace,勾选Build automatically > OK
  15. 更改默认构建顺序:Window > Preferences > General > Workspace > Build Order,取消勾选 Use default build order 并删除除 node.js 项目以外的所有项目 > OK
  16. 重新启动 Aptana/Eclipse(存在错误,因此有时首选项更改未保存并丢失。您必须仔细检查。)

因此,如果您没有通过在项目中保存文件来更改 Aptana Studio 3/Eclipse 中的太多默认首选项,那么应该会触发其构建器。第一个构建器将终止现有实例以克服“端口已在使用”异常并再次启动应用程序。 控制台应该弹出与该进程相关的选项卡。

这非常适合我一次开发一个 node.js 项目并且中等大小的应用程序会立即重新启动。仍有改进的空间,例如只杀死那个特定的实例而不是全部。欢迎提出建议(除了安装 Nodeclipse 或 node.js 包等)!

我希望这个简单易行的解决方案能对某人有所帮助。我也希望 Aptana Studio 3 能尽快开始原生支持 node.js 类型的项目/服务器。

【问题讨论】:

  • node-dev 可能会感兴趣...github.com/fgnass/node-dev Node-dev 是一个 Node.js 的开发工具,当脚本被修改时,它会自动重启节点进程。它是不需要任何配置的主管或 nodemon 等工具的替代品。只需像通常运行 node 一样运行 node-dev foo.js,它会自动找出需要监视的文件。

标签: eclipse node.js automation aptana


【解决方案1】:

您可以在代码更改时使用 nodemon 重新启动节点应用程序。看看https://github.com/remy/nodemon/

【讨论】:

  • 我无法使用断点进行调试,也无法使用 node-dev
【解决方案2】:

欢迎来到 Nodeclipse。您的解决方案已添加到Nodeclipse Help Run page, 请编辑。那就是回答“一个更好的发布位置”。

或者,这个问题应该被分成问题和解决方案部分,以适应 stackoverflow.com 问答格式。还应在主题中说明约束(例如没有插件或 Node.js 模块),因为一定比例的 stackoverflow.com 用户并没有真正阅读整个(特别是长)问题。

那么我的答案就是使用调试视图。(实际上它应该命名为 Launch,因为它既用于运行也用于调试)在您最喜欢的角度:窗口 -> 显示视图 -> 其他.. -> 调试。 (在 Nodeclipse 的 Node 透视图中,Debug View 默认是可见的) 然后您可以在调试视图中右键单击已启动的应用程序并选择Terminate and Relaunch。这更明确,允许运行许多应用程序。

我也不明白你为什么先说“不带插件”,不建议“安装Nodeclipse”,最后加上“我希望Aptana Studio 3 开始支持”。它不会是另一个插件/扩展吗?从 0.10 开始的 Nodeclipse 具有基本 Node.js 模块的代码完成功能,并改进了对黑色背景颜色主题的支持。 Open an issue 准备好一起讨论/工作时。 Nodeclipse 是由像您这样的开发人员开始的,他们停止了希望和等待,只是做到了。一次一小块。就像你做的那样。

【讨论】:

    【解决方案3】:

    我的两分钱:

    如果您也想启用调试,您可以通过创建独立 V8 VM 配置并使用eclipse_remote_control 启动它来实现。步骤:

    1. 帮助 > 安装新软件...
    2. 使用:https://github.com/marook/eclipse-remote-control/raw/master/workspaces/erc/update_site
    3. 选择并安装插件
    4. 重要提示:从https://github.com/marook/eclipse-remote-control/raw/master/workspaces/erc/release/eclipse_remote_control_client_1.3.0.jar 下载eclipse_remote_control_client.jar 并将其放在您以后知道的地方(我放在/Applications/eclipse/plugins/eclipse_remote_control_client_1.3.0.jar 中)
    5. 重启eclipse

    安装新插件后,创建新的调试配置和项目构建器:

    1. 运行 > 调试配置... > 右键单击​​独立 V8 VM > 新建
    2. 名称:NodeV8-5858(或其他,记住它)
    3. 端口:5858
    4. 申请,关闭
    5. Project Explorer > 右键单击​​您的项目 > Properties > Builders
    6. 新... > 程序 > 好的
    7. 名称:启动 NodeV8
    8. 位置:/Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home/bin/java(查找您的 java 位置)
    9. 工作目录:浏览工作区... > 选择您的项目 > 确定
    10. 参数:-jar /Applications/eclipse/plugins/eclipse_remote_control_client_1.3.0.jar execute_command NodeV8-5858 DEBUG(替换为您在步骤 2 中选择的 .jar 位置和名称)
    11. 好的(然后确保“Start NodeV8”仍然是列表中的最后一个条目)
    12. 选择“开始”并点击编辑...
    13. 参数:--debug-brk=5858 --harmony app.js(或应用程序入口点的任何其他文件)
    14. 参数:--debug=5858 --harmony app.js(如果您不希望它 等待开始)
    15. 好的,尽情享受吧!

    如果您使用的是 mac,那么要终止所有节点进程,您可以使用以下代码创建脚本 killallnode.sh:

    #!/bin/bash
    
    killall node
    

    把它放在你知道的地方,并填写在第 4 步的位置字段中。

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      相关资源
      最近更新 更多