現在、Babel を使用して node.js に基づくプロジェクトを開発しています。
シングルトンであるはずの userService.js ファイルがあり、ユーザーで必要なものすべてを管理し、ユーザーの状態も保持します。
このモジュールをこのように書く理由:
class UserService { //methods //properties}
export default new UserService(); //so it is a singleton
次のようにインポートします。
import userService from 'userService';
この方法ではありません:
export function login() {} //other functions etc
export var user={}
次のようにインポートします。
import * as userService from 'userService
';
スタイルの違いだけですか?
たとえば、ログアウト メソッドを使用せずにログインのみをインポートするのは意味がないので、すべてのメソッドを使用してクラスをエクスポートするのは良いように思えますが、他の方法には常に「this」キーワードを使用する必要がないという利点があります。