すみません、プログラムの話はしませんw
要件
便利なプログラムをサクッと書いて欲しい的なことを言われた時に、使えるテクニック。
実際にプログラムを、ノンプログラマにダブルクリックでサクッと実行してもらえたのでメモです。
自分はもっぱらJavascriptを書くことが多いのですが、多分他の言語でも使えると思う。
必要なもの
- Node実行環境
- プログラム
- 起動ファイル
上記の3つなのですが、肝は「起動ファイル」です。
Node実行環境
Nodeの実行環境は赤枠の部分クリックしてwindowsならmsi,macならdmgファイルを落としてセットアップウィザードを感情0で進めてください。と言えばなんとかなるはず。
プログラム
好きなように書いてもらって、Nodeの場合はpackage.json
のscript
の所にnpm run hoge
で起動できるようにして置いてください。
起動ファイル
はい。ここです。
自分が作ったのはめんどくさい系の作業をWebスクレイピングしてCSVファイルを作成するプログラムだったのですが、冒頭に言ったようにダブルクリックすると勝手にファイルができているみたいなものが作りたかったのです。
んで、調べると
windowsは.cmd
macは.command
という拡張子でコマンドプロンプトで実行できるコマンドをまとめて書いてダブルクリックで実行できることがわかった。
自分が作ったのは
node_modules
のインストール用のsetupファイルと、実行用のexeファイル
setup
cd /d %~dp0
npm i
cd `dirname $0`
npm i
exe
cd /d %~dp0
npm run start
cd `dirname $0`
npm run start
先頭のcd
がないとダブルクリックしたところではなく、ホームディレクトリでnpm run start
しちゃうので、必要。
これをプログラムと同じディレクトリに置いてどうにかしてディレクトリごと渡して、最初にsetup.(cmd | command)
をダブルクリックして、exe.(cmd | command)
をダブルクリックすれば実行できます〜となります。
*setup.(cmd | command)
は次回以降不要。
どうだったか
最初にnode_modules
ごとプロジェクトに含めて渡したが、自分のパソコンがmacで渡した方がwindowsだったので、うまく動かなかった。(当たり前だが。)
なので、setupファイルを作成して再実行してもらったら動いた。
サクッとスクリプトを書いて実行してもらうのにはいいかもしれません。