Node.jsでこういう場面、あると思います。
- 共通処理を自作モジュール化したい
- プロジェクト内部だけで使いたい
- ライブラリみたいに公開したくない
そういう自作モジュールの作り方について。
僕自身も作り方に悩むことがあったので、
Node.jsでの自作モジュールの作り方まとめます。
一般公開するライブラリの作り方とは別物です。
このページの目次
1.初めに自作モジュール作成の下準備
ここではNode.js + Express.js環境を考えます。
※ もちろんそれ以外の環境でもOK
そして my_module という名前で、
自作モジュールを作りたいとしましょう。
そのために以下のような下準備をします。
- プロジェクトルートに移動
つまり npm init したディレクトリのこと
- そこに app_modules ディレクトリ作成
名前は何でもいいが、分かりやすく app_modules というディレクトリ名にしておく。ここが自作モジュール群を管理するディレクトリになる
- その中に my_module ディレクトリ作成
そしたら app_modules ディレクトリに移動して、作成したモジュール名のフォルダ作成する。ここでは my_module という名前にした
以降の作業はmy_moduleディレクトリ下です。
2.自作モジュールを定義する
そしたら自作モジュールを定義します。
名前は my-module.js としました。
▼ その内容はこういうの
1 2 3 4 5 6 7 |
exports.sayHello = function(name){ console.log('Hello ',name,'!!'); }; exports.sayWelcome = function(name){ console.log('Welcome ',name,'!!'); }; |
まあ説明するまでもない簡単な内容です。
注意点があるとすればモジュール内の関数・定数などを外部公開するには exports.sayHello = function(name){...} のようにエクスポートするってことですね。
それ以外は特に注意点もなし
3.自作モジュールのpackage.json定義
先ほど自作モジュールを定義しました。
それと同じ場所に package.json も作成します。
▼ その内容は例えばこういう感じ
1 2 3 4 5 6 7 8 9 |
{ "name": "my-module", "version": "1.0.0", "description": "", "main": "my-module.js", "keywords": [], "author": "", "license": "MIT" } |
キー名から何を定義してるか大体分かるはず
重要なのはモジュール名とモジュールjsファイルの指定です。それ以外はオマケみたいなものなので、空にするか適当に書いてください。(外部公開しないからなくてもOK)
これで my-module のインストール準備が完了です。
4.npmで自作モジュールをインストール
それでは自作モジュールをインストールします。
プロジェクトルートに移動してください。
▼ そしてこのようなコマンドを実行
1 2 3 4 |
$ npm install ./app_modules/my-module + my-module@1.0.0 added 1 package and audited 157 packages in 1.488s |
自作モジュールのインストール成功です!
GitHubなどで公開されてるライブラリではないため、自作モジュールのディレクトリパス( ./app_modules/my-module )を直接インストールさせてます。
これで普通のモジュールと同じく使えます。
5.自作モジュールを呼び出してみる
適当な場所から自作モジュールを使ってみます。
▼ こんな感じで呼び出すことが可能
1 2 3 4 5 6 7 8 |
/// 自作モジュールをインポート var sayHello = require('my-module').sayHello; var sayWelcome = require('my-module').sayWelcome; sayHello('Pisuke'); /// => Hello Pisuke!! sayWelcome('Pisuke'); /// => Welcome Pisuke!! |
手順を知っていれば簡単です。
自作モジュールの作り方まとめ
ということで手順を箇条書きでまとめます。
以上、自作モジュールの作成・インストールでした。
もし手順的な問題があればご指摘ください。ではまた