我目前用 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”关键字。