[解決済み】pythonのif __name__ == '__main__' に相当するnode.js [重複]です。]
2022-03-27 13:49:21
質問
自分のモジュールがインクルードされているか、直接実行されているかをチェックしたいのですが。node.jsでこれを行うにはどうしたらよいでしょうか?
どのように解決するのですか?
ドキュメント には別の方法が記載されており、そちらの方が望ましいかもしれません。
<ブロッククオートNodeから直接ファイルを実行すると、require.mainにそのモジュールが設定されます。
これを利用するには、このモジュールがメインモジュールであるかどうかを確認し、もしそうなら、メインのコードを呼び出すようにします。
var fnName = function() {
// main code
}
if (require.main === module) {
fnName();
}
EDIT: このコードをブラウザで使用すると、"require" が定義されていないため、"Reference error" が表示されるでしょう。これを防ぐには、以下を使用します。
if (typeof require !== 'undefined' && require.main === module) {
fnName();
}
関連
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] (node:63208) DeprecationWarning: collection.ensureIndex は非推奨です。代わりにcreateIndexesを使用してください [重複]。
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] require を通して呼び出されたか、コマンドラインから直接呼び出されたかを検出する。