Я использую модули ECMAScript6. Каков правильный способ экспорта/импорта нескольких методов из модуля из приведенных ниже параметров?Модули ES6: экспорт одного класса статических методов или нескольких отдельных методов
один класс статических методов:
//------ myClass.js ------
export default class myClass {
static myMethod1() {
console.log('foo');
}
static myMethod2(args...) {
console.log('bar');
}
}
//------ app.js ------
import myClass from 'myClass';
myClass.myMethod1(); //foo
Несколько экспортироваться методы:
//------ myMethods.js ------
export function myMethod1() {
console.log('foo');
}
export function myMethod2() {
console.log('bar');
}
//------ app.js ------
import {myMethod1, myMethod2} from 'myMethods';
myMethod1() //foo;
//OR
import * as myMethods from 'myMethods';
myMethods.myMethod1() //foo;
1) Экспорт: Класс только статические методы чувствует себя как-то вроде «кода запаха», но аналогично экспортируя все индивидуально, чувствуется немного многословно. Это просто предпочтение разработчика или есть ли здесь последствия для производительности?
2) Импорт: Синтаксис «* как» является моим предпочтительным методом, так как он позволяет использовать точечную нотацию (ссылаясь как на модуль, так и на метод), помогая считывать код. Имеет ли это последствия для производительности, хотя, когда я могу использовать только один из методов?
С 'импорта {myMethod1, myMethod2} от 'myMethods';' импортированные методы делают не должны быть разыменованы как переменные. Хотя я сказал, что не уверен, что точечная нотация фактически рассматривается как переменная. – user5321531