[解決済み] Node.jsのES6クラスをrequireで作る
2022-07-15 14:21:53
質問
これまで、私はクラスやモジュールを
node.js
でクラスやモジュールを作成してきました。
var fs = require('fs');
var animalModule = (function () {
/**
* Constructor initialize object
* @constructor
*/
var Animal = function (name) {
this.name = name;
};
Animal.prototype.print = function () {
console.log('Name is :'+ this.name);
};
return {
Animal: Animal
}
}());
module.exports = animalModule;
ES6では、このように実際のクラスを作成することができます。
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
さて、まず第一に、私はこれが大好きです :) が、ここで疑問が生じます。これをどのように
node.js
のモジュール構造と組み合わせてどのように使うのでしょうか?
例えば、あるクラスでモジュールを使いたい場合、デモンストレーションのために、例えば
fs
を使いたいので、ファイルを作成します。
アニマル.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
これは正しい方法でしょうか?
また、私のnodeプロジェクト内の他のファイルにこのクラスをどのように公開するのでしょうか?また、別のファイルで使用している場合でも、このクラスを拡張することができるのでしょうか?
これらの質問に答えてくれる人がいることを望みます :)
どのように解決するのですか?
はい、あなたの例でうまくいきます。
クラスを公開する方法として、あなたは
export
を使えば、他のクラスと同じように
class Animal {...}
module.exports = Animal;
あるいはもっと短い
module.exports = class Animal {
};
一度他のモジュールにインポートすれば、そのファイルで定義されているかのように扱うことができます。
var Animal = require('./Animal');
class Cat extends Animal {
...
}
関連
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] truthy や falsy を明示的なブール値、すなわち True や False に変換する。
-
[解決済み] jQueryを使用してAJAXリクエストに失敗した場合に再試行する最善の方法は何ですか?
-
[解決済み] React.jsでテキスト入力のchange/focusOutイベントを正しくキャッチする方法とは?
-
[解決済み] Angularで、配列内のオブジェクトを検索したい。
-
[解決済み] jQueryを使って、ターゲット要素のクリック座標を取得する方法
-
[解決済み] react-hooksによるステート更新時の非同期コードの実行