Node.jsにおける独自モジュールの作成と利用方法

Node.jsでは、ライブラリのように再利用可能な機能をモジュールとしてまとめることができます。パッケージとして切り分けておくことで、require()関数で容易に取り込んで利用 가능합니다。

一、モジュールの構造を作成

1.プロジェクト用のフォルダ(例:textfilter)を作成します

2.textfilterフォルダ配下に censortext.js、package.json、README.md の3ファイルを作成します

1)、censortext.jsには、文字列中の特定単語をアスタリスクで置換する関数を実装します。

var prohibitedTerms=["angry","cruel","hate"];
var userDefinedTerms=[];

function filterText(inputText)
{
	for(var i=0; i<prohibitedTerms.length; i++)
	{
		inputText=inputText.split(prohibitedTerms[i]).join("[隠蔽]");
	}
	for(var j=0; j<userDefinedTerms.length; j++)
	{
		inputText=inputText.split(userDefinedTerms[j]).join("[隠蔽]");
	}
	return inputText;
}

function registerUserTerm(newTerm)
{
	userDefinedTerms.push(newTerm);
}

function listAllTerms()
{
	return prohibitedTerms.concat(userDefinedTerms);
}

module.exports.filterText=filterText;
module.exports.registerUserTerm=registerUserTerm;
module.exports.listAllTerms=listAllTerms;

2)、package.jsonには、パッケージのメタ情報を定義します。名前、バージョン、メインファイル、依存関係などを記述します。

{
 "author":"開発者名",
 "name":"textfilter",
 "version":"1.0.0",
 "description":"テキスト中の単語をフィルタリングするモジュール",
 "main":"censortext",
 "dependencies":{
    "chalk":"^4.1.0"
 },
 "engines":{
    "node":">=12.0.0"
 }
}

3)、README.mdには、モジュールの使用方法や注意事項を記載します

3.パッケージ化する

コマンドラインでtextfilterフォルダに移動し、npm packコマンドを実行します。これにより、tgz形式のパッケージファイルが生成されます。

二、パッケージの利用

作成したパッケージの利用方法は、NPMレジストリへの公開とローカル環境での利用がありますが、ここではローカル利用の手順を説明します。

  1. 利用側のプロジェクトフォルダ(例:wordapp)を作成します

  2. コマンドラインでwordappフォルダに移動し、ローカルパッケージをインストールします。レジストリに登録されている場合は npm install パッケージ名 、ローカルファイルの場合は npm install ../textfilter/textfilter-1.0.0.tgz のように指定します。

  3. インストール完了後、wordapp下にnode_modulesフォルダが作成され、その中にtextfilterが配置されます

  4. test.jsファイルを作成し、パッケージの機能を呼び出します

var textfilter=require("textfilter");

console.log("登録済み単語:", textfilter.listAllTerms());
console.log("フィルタ結果:", textfilter.filterText(" Today is angry and cruel "));
textfilter.registerUserTerm("annoying");
console.log("更新後の単語:", textfilter.listAllTerms());
console.log("適用結果:", textfilter.filterText(" This is annoying "));
  1. 実行

node test.jsコマンドでプログラムを実行し、フィルタリングの結果を確認できます

タグ: Node.js モジュール作成 npm pack require package.json

6月20日 18:01 投稿