LoginSignup
3
2

More than 3 years have passed since last update.

[Node.js ダブルクリック 実行 ] プログラムをノンプログラマに実行してもらう方法

Last updated at Posted at 2019-09-12

すみません、プログラムの話はしませんw

要件

便利なプログラムをサクッと書いて欲しい的なことを言われた時に、使えるテクニック。

実際にプログラムを、ノンプログラマにダブルクリックでサクッと実行してもらえたのでメモです。

自分はもっぱらJavascriptを書くことが多いのですが、多分他の言語でも使えると思う。

必要なもの

  • Node実行環境
  • プログラム
  • 起動ファイル

上記の3つなのですが、肝は「起動ファイル」です。

Node実行環境

Nodeの実行環境は赤枠の部分クリックしてwindowsならmsi,macならdmgファイルを落としてセットアップウィザードを感情0で進めてください。と言えばなんとかなるはず。
スクリーンショット 2019-09-12 15.43.26.png

プログラム

好きなように書いてもらって、Nodeの場合はpackage.jsonscriptの所にnpm run hogeで起動できるようにして置いてください。

起動ファイル

はい。ここです。
自分が作ったのはめんどくさい系の作業をWebスクレイピングしてCSVファイルを作成するプログラムだったのですが、冒頭に言ったようにダブルクリックすると勝手にファイルができているみたいなものが作りたかったのです。

んで、調べると
windowsは.cmd
macは.command
という拡張子でコマンドプロンプトで実行できるコマンドをまとめて書いてダブルクリックで実行できることがわかった。

自分が作ったのは
node_modulesのインストール用のsetupファイルと、実行用のexeファイル

setup

setup.cmd
cd /d %~dp0
npm i
setup.command
cd `dirname $0`
npm i

exe

exe.cmd
cd /d %~dp0
npm run start
exe.command
cd `dirname $0`
npm run start

先頭のcdがないとダブルクリックしたところではなく、ホームディレクトリでnpm run startしちゃうので、必要。

これをプログラムと同じディレクトリに置いてどうにかしてディレクトリごと渡して、最初にsetup.(cmd | command)をダブルクリックして、exe.(cmd | command)をダブルクリックすれば実行できます〜となります。
*setup.(cmd | command)は次回以降不要。

こんな感じのフォルダを圧縮して渡せばOKかと。
スクリーンショット 2019-09-12 16.13.12.png

どうだったか

最初にnode_modulesごとプロジェクトに含めて渡したが、自分のパソコンがmacで渡した方がwindowsだったので、うまく動かなかった。(当たり前だが。)

なので、setupファイルを作成して再実行してもらったら動いた。

サクッとスクリプトを書いて実行してもらうのにはいいかもしれません。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2