Help us understand the problem. What is going on with this article?

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

すみません、プログラムの話はしません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ファイルを作成して再実行してもらったら動いた。

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away