HmNodeJS ~node.jsとの通信ライブラリ~

  • 概要

    秀丸マクロからNodeJSをhttp経由で利用するためのモジュールとなります。

    近年著しい勢いで増えてきている「NodeJS」用のライブラリなどを介した処理を、
    「秀丸マクロ」等から利用することが目的となるでしょう。

  • 単純なインタプリタではなく、httpサーバーとなる

    HmNodeJSは、node.jsをサーバとして利用します。

    もしも、あなたが、node.jsを単純なJavaScriptインタープリタとして利用することを望むのであれば、HmNodeJSは必要ありません。

    その場合は、こちらを参照してください。

  • ダウンロード

    DOWNLOAD ⇒ HmNodeJS.zipファイル。ver 1.021
    └更新日 2017/04/05
  • 動作環境

    • 秀丸

      秀丸エディタ ver8.66以上

    • Microsoft .NET

      .NET Framework 4.0以上。

    • Node.js

      Node.jsがインストールされており、該当のNode.jsにパスが通っていること。

    • hmV8 / hmJS / hmPy / hmRb / hmLoadCLR のうちどれか1つ

      「hmV8 / hmJS / hmPy / hmRb / hmLoadCLR」のうち少なくとも1つを導入していることを想定しています。
      推奨する環境ですが、node.jsと同一の言語エンジンを内包しているという点で、
      hmV8から利用するのが良いでしょう。
      (特に何も断りがない場合、hmV8からの利用サンプルを掲載しています)

      もちろん、これらのいずれにも依存せず、「C++/CLI」等から、直接呼び出すのも簡単です。

  • インストール

    • HmNodeJS.zipをダウンロード時

      .zipファイルをブロック解除する
      (本ソフトには.exeが含まれていますので、原則的にはブロック解除をする必要があります)

    • 「HmNodeClient.dll」と「HmNodeProxy.exe」は秀丸本体と同じディレクトリ

      「HmNodeClient.dll」と「HmNodeProxy.exe」を秀丸エディタ本体のディレクトリ内(hidemaru.exeと同じ場所)へと コピーする。
      (原則的には、hidemaru.exeと同じ場所である必要があります。これは.NET FrameWorkのdllを動作させる仕組みに拠るためです。)

    • 「HmNodeSample.js」と「HmNodeSample**.mac」の2つはセット

      「HmNodeSample.js」と「HmNodeSample**.mac」は両方ともHmNodeJSを理解する上での最小サンプルとなっています。
      2つファイルの置き場所はどこでも構いませんが、「2つのファイルを同じフォルダ」に置いてください。

  • HmNodeJSの特質

    • 秀丸のプロセス単位で処理されるのではない

      通常秀丸マクロは、秀丸のプロセス単位で処理されます。
      しかし、HmNodeJSは「nodeのサーバー的な特質」を考慮して、プロセス単位ではなくチャンネル単位で処理されます。

      よって、秀丸のとあるプロセスが閉じたとしても、HmNodeJSのチャンネルが生きていれば、
      処理を続きから継続したり、最後のレスポンス(実行結果)を取り出したりといったことが可能となっています。

    • 15000以上ものチャンネルが利用可能

      HmNodeJSでは、「Node.exeがチャンネルごとに1つずつ割り当てられます」。
      チャンネルには、50000以上65535以下の15000以上ものチャンネルを割り当てることが出来ます

      このチャンネルは、ノード側が受信するPort番号を兼ねます。

    • 終了条件

      とある秀丸プロセスが終了しただけでは、HmNodeJSは終了しません。
      (それで終了するようでは、nodejsのサーバーとしてのメリットが全くないからです)

      秀丸を全て終了することによって、はじめてHmNodeJSは全て終了します。
      (常駐秀丸はカウントしていませんので、常駐秀丸に関しては起動しっぱなしでもかまいません)

  • チュートリアルや学習

    左メニューより選択し、理解を進めてください。

  • ライセンス

    • HmNodeJS

      HmNodeJSは、Apache License 2.0となります。

    • ソースの場所

      Githubにソースがあります。