У меня есть много небольших модулей, которые составляют полные API-интерфейсы для сервера, каждый модуль находится в своем собственном файле. Однако импортировать каждый модуль из отдельных файлов довольно неудобно, поэтому я хотел использовать агрегаты экспорта, чтобы просто импортировать их из одного центрального модуля.
Согласно MDN , export
оператор должен иметь возможность обрабатывать следующий синтаксис агрегации:
// Aggregating modules
export * from …; // does not set the default export
export * as name1 from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;
export { default } from …;
Однако мне не удалось использовать этот синтаксис экспорта; в частности, синтаксис export * as name1 from ...
, который выдает ошибку Unexpected export specifier type
.
Единственная форма между вышеупомянутым, которую я могу использовать, это export * from ...
, но это не особенно полезно ...
Вот так я экспортирую API в модули:
// user.js - more modules export APIs the same way
export const loginWithEmail = ({ params }) => { /* ... */ }
export const loginWithPhoneNumber = ({ params }) => { /* ... */ }
// ... more exports
Вот так я экспортирую эти модули в центральный модуль
// api.js - resides in the same location as the separate modules
export * as User from "./user";
export * as Vehicle from "./vehicle";
// ... more exports
Может кто-нибудь помочь мне понять, что я делаю не так?
Среда состоит из VSCode 1.41, NodeJS 13, Expo SDK36, React 16.9, React-Native 0.61, JSX, ES8 + и eslint + babel-eslint.