ES6 JS: синтаксис для экспорта констант при некоторой рекурсии
У меня есть следующий код, который работает:
import sequelize from 'sequelize';
let A = sequelize.define('a', {
}, {
classMethods: {
someMethod(foo) {
return A.upsert(foo);
}
}
});
export default A;
Тем не менее, я хотел бы поставить export default
на той же строке, что определение A
для ясности. Тем не менее, так как некоторая часть A
в основном называет себя, я не могу выяснить, какой правильный синтаксис может быть.
2 ответа
Ты можешь использовать
export { A as default }
const A = …; // whatever
или же
let A; // I would avoid this
export default A = …;
Там нет ярлыка, export default
работает только с объявлениями функций или классов.
Короткий ответ: вы не можете.
Длинный ответ: при выполнении export default something
Вы указываете, что данное значение будет экспортировано из модуля и по сути является безымянным (следовательно, default
часть).
В отличие от CommonJS, у вас нет ручки для того, что вы экспортируете. То, что вы хотите сделать, эквивалентно рекурсивному вызову анонимной функции. Как ты мог сделать это без ссылки?