irikonova45
@irikonova45
Веб дизайнер

Как можно оптимизировать(улучшить) код?

Есть такой код:
const data = []

import data1 from './data1'
import data2 from './data2'
import data3 from './data3'
import data4 from './data4'
import data5 from './data5'
import data6 from './data6'
import data7 from './data7'
import data8 from './data8'
import data9 from './data9'

data.push(data1)
data.push(data2)
data.push(data3)
data.push(data4)
data.push(data5)
data.push(data6)
data.push(data7)
data.push(data8)
data.push(data9)

export default data

далее количество импортированных файлов вида dataN будет увеличиваться. Хотелось бы как-то изменить код, чтобы указывать просто количество файлов типа const len = 9; и чтобы весь список импортировался. Пробовала через цикл импорт делать - но так не работает, import после from переменную не принимает... Может, кто подскажет идею?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
Можно конечно так попробовать, однако не проще ли изменить структуру таких файлов?
const count = 2;

export default await Promise.all(
    Array.from({ length: count }, async (_, index) => (await import(`./data${index + 1}.js`)).default)
);
Ответ написан
@goshaLoonny
Почему бы вместо того что бы городить костыли не использовать реэкспорт?
export {default as data1} from './data1'
export {default as data2} from './data2'
export {default as data3} from './data3'
export {default as data4} from './data4'
export {default as data5} from './data5'
export {default as data6} from './data6'
export {default as data7} from './data7'
export {default as data8} from './data8'
export {default as data9} from './data9'

а импортировать так
import {* as arr} from 'путь к файлу'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы