Экспортировать все константы из другого файла - PullRequest
0 голосов
/ 17 ноября 2018

Я хотел бы создать файл index.js, в который будут экспортированы все константы и экспорт по умолчанию из других файлов.Например:

userActions.js :

export const login = (username, password) => { ... }
export const logout = () => { ... }

User.js :

export default class User { ... }

Book.js :

export default class Book { ... }

index.js

import { login, logout } from './userActions'
import Book from './Book'
import User from './User'

export { login, logout, Book, User }

И тогда это будет возможно в любом файле:

import { login, Book, User } from './index.js'

К сожалению, я часто добавляю новые действия пользователя и не хочу каждый раз менять index.js.Поэтому я хотел бы использовать это в index.js :

export * from './userActions'

Где-то в другом файле (все работает) ...

import * as allExports from './index.js'
console.log(allExports) // { login: ƒ, logout: ƒ, __esModule: true }

Но если я добавлюэкспорт по умолчанию в именованные экспорты ( index.js ):

import Book from './Book'
import User from './User'
export * from './userActions'
export { Book, User }

Существует только первый экспорт по умолчанию (где-то в другом файле):

import * as allExports from './index.js'
console.log(allExports) // { Book: f, __esModule: true }
// Expected output is: { Book: f, User: f, login: ƒ, logout: ƒ, __esModule: true }

IsЕсть ли решение для этого?

1 Ответ

0 голосов
/ 17 ноября 2018

Вы можете использовать export { default as name } from './resource' для преобразования значений по умолчанию в именованные экспорты:

export { default as Book } from './Book'
export { default as User } User from './User'
export * from './userActions'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...