Чтобы предотвратить загрязнение пространства имен, я обычно использую файл-посредник. Например, это, как я организую свои запросы к базе данных:
// queries.js
import { calEventQueries } from './calevent/calevent'
import { courseQueries } from './course/course'
import { paymentPlanQueries } from './paymentplan/paymentplan'
/* etc etc etc */
/* then I export them individually */
export { calEventQueries }
export { courseQueries }
export { paymentPlanQueries }
/* and as a group */
export default {
calEventQueries,
courseQueries,
paymentPlanQueries,
}
Тогда все, что нужно сделать, это
import queries from '../path/to/queries.js'
, если я хочу, чтобы иметь доступ ко всем из моих запросов от одной переменной, например, , queries.calEventQueries
.
Это полезно, однако, потому что я могу также легко захватить только один набор запросов:
import { courseQueries } from '../path/to/queries.js'
Второй вариант заключается в использовании as
ключевое слово:
import { default as someOtherName } from '../path/to/mul.js'
но Я не уверен, что это подходит для вашего случая использования.
Похоже, что такого способа нет. – zerkms
Я добавил ответ ниже, который, я думаю, поможет вам решить вашу проблему. Скажите, правильно ли я понял вашу всеобъемлющую проблему. – royhowie
Я думаю, что ваш посреднический файловый подход - клавер в этом случае. В то же время я несколько неправильно понял, какой модуль должен быть - в основном модулю требуется пространство имен, достаточно общее для рассмотрения как отдельный модуль. Поэтому использование 'import * as utils из 'path/to/utils.js'' и' export function mul() {...} 'подходит в моем случае. Вы все равно решили мою проблему. – hiun