如何在Eclipse / Aptana Studio中自动重新启动node.js应用程序,以便在开发时更改源代码?

时间:2013-12-19 13:01:45

标签: eclipse node.js automation aptana

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

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

  1. Project Explorer >中右键单击您的项目属性>助洗剂
  2. 新...>节目>行
  3. 名称:终止现有的node.js进程
  4. 位置:C:\ Windows \ System32 \ taskkill.exe($ {env_var:SystemRoot} \ System32 \ taskkill.exe对我不起作用,可能适合你)
  5. 工作目录:浏览工作区...>选择你的项目>行
  6. 参数:/ IM node.exe / F
  7. 切换到构建选项标签并勾选自动构建取消 在后台启动>行
  8. 创建另一个构建器:新建...>节目>行
  9. 姓名:开始< your-project-name>
  10. 位置:C:\ Program Files \ nodejs \ node.exe(您也可以尝试$ {env_var:ProgramFiles} \ nodejs \ node.exe)
  11. 工作目录:与第5点相同
  12. 参数:app.js(或应用程序入口点的任何其他文件)
  13. 切换到构建选项标签,勾选 自动构建期间在后台启动>行
  14. 启用项目autobuild:Window>偏好>一般>工作区,勾选自动构建>行
  15. 更改默认构建顺序:窗口>偏好>一般>工作区>构建订单,取消使用默认构建订单并删除除node.js项目>之外的所有项目。行
  16. 重新启动Aptana / Eclipse(有错误,所以有时偏好更改不会保存并丢失。您必须仔细检查。)
  17. 因此,如果您没有在Aptana Studio 3 / Eclipse中更改太多默认首选项,则可以通过在项目中保存文件来触发其构建器。第一个构建器将终止现有实例以克服“已在使用中的端口”异常并再次启动应用程序。应该弹出与该过程相关的控制台标签。

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

    我希望这个易于解决的解决方案可以帮到某些人。我也希望Aptana Studio 3能够很快开始支持node.js类型的项目/服务器。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

欢迎使用Nodeclipse。您的解决方案已添加到Nodeclipse Help Run page, 请编辑。那就是回答'#34;一个更好的发布地点"。

或者,这个问题应该分解为问题和解决方案部分以适应stackoverflow.com Q& A格式。同样的约束(比如没有插件或Node.js模块)应该在主题中说,因为stackoverflow.com用户的某些百分比并不真正阅读整个(特别长)的问题。

然后我的答案只是使用Debug View。(实际上它应该命名为Launch,因为它既适用于Run和Debug)在你最喜欢的视角:Window - >显示视图 - >其他.. - >调试。 (在Nodeclipse节点透视图中,默认情况下可以看到Debug View) 然后,您可以在“调试视图”中右键单击已启动的应用程序,然后选择终止并重新启动。这更明确,允许运行许多应用程序。

我也不明白为什么你第一次说'#34;没有插件"并且不建议安装Nodeclipse"但最后添加"我希望Aptana Studio 3将开始支持"。它不是另一个插件/扩展吗?从0.10开始,Nodeclipse具有基本Node.js模块的代码完成,并改进了对黑色背景颜色主题的支持。 Open an issue准备好讨论/一起工作时。 Nodeclipse是由像你这样停止希望和等待的开发人员启动的。一次一小块。就像你一样。

答案 2 :(得分:0)

我的两分钱:

如果您也想启用调试,可以通过创建独立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
  6. 安装新插件后,创建一个新的调试配置和项目构建器:

    1. 运行>调试配置...>右键单击Standalone V8 VM>新
    2. 名称:NodeV8-5858(或其他什么,记住它)
    3. 港口:5858
    4. 申请,关闭
    5. Project Explorer>右键单击您的项目>属性>助洗剂
    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(替换为.jar位置和您在步骤2中选择的名称)
    11. 确定(然后确保“Start NodeV8”仍然是列表中的最后一个条目)
    12. 选择“开始”,然后点击修改...
    13. 参数: - debug-brk = 5858 --harmony app.js(或应用程序入口点的任何其他文件)
    14. 参数: - debug = 5858 --harmony app.js(如果你不想要它  等待开始)
    15. 好的,享受!
    16. 如果您正在使用mac,那么要终止所有节点进程,您可以使用以下代码创建脚本killallnode.sh:

      #!/bin/bash
      
      killall node
      

      将它放在您知道的地方,并将其填入第4步的位置字段。