[解決済み] Node.jsで別のファイルからJavaScriptのクラス定義をインクルードする
2022-05-26 11:36:35
質問
Node.jsの簡単なサーバを書いています。
User
のようなものです。
function User(socket) {
this.socket = socket;
this.nickname = null;
/* ... just the typical source code like functions, variables and bugs ... */
this.write = function(object) {
this.socket.write(JSON.stringify(object));
}
};
という感じで、後半は何度もインスタンス化しています。
var server = net.createServer(function (socket) {
/* other bugs */
var user = new User(socket);
/* more bugs and bad practise */
});
を移動させることはできますか?
User
クラス定義を別のjavascriptファイルに移動し、何らかの方法でそれをinclude"することはできますか?
どのように解決するのですか?
単純にこうすればいいのです。
user.js
class User {
//...
}
module.exports = User // ???? Export class
server.js
const User = require('./user.js')
let user = new User()
これは 共通JS モジュールと呼ばれています。
ESモジュール
Node.jsのバージョン14以降では、CommonJSでESモジュールを使用することができます。詳しくは ESMドキュメント .
user.mjs (????拡張子は重要です)
export default class User {}
server.mjs
import User from './user.mjs'
let user = new User()
関連
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
vueディレクティブv-bindの使用と注意点
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
-
[解決済み] node.jsのファイル削除
-
[解決済み】「GET」パラメータから値を取得する(JavaScript)【重複】。
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
Vue+ElementUIによる大規模なフォームの処理例
-
Vueのイベント処理とイベントモディファイアの解説
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。