Экспортировать все функции в текущем файле как одну переменную - PullRequest
0 голосов
/ 27 апреля 2020

Предположим, у вас есть следующий файл:

graphService. js

const foo = () => { return 'foo' }

const bar = () => { return 'bar' }

Как можно было бы экспортировать все функции, чтобы они могли быть используется следующим образом:

connsumer. js

import { graph } from 'src/services/graph/graphService'

graph.foo()
graph.bar()

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

graphMiddelFile. js

import * as graph from 'src/services/graph/graphCore'

export const graph = graph

Можно ли обойтись без файла посередине и без использования import * as graph from 'src/services/graph/graphService' в файле consumer.js?

Я осмотрел inte rnet, но не смог найти что-то подобное. Спасибо за вашу помощь.

Ответы [ 4 ]

1 голос
/ 27 апреля 2020

Если вам разрешено изменять graphService, вы можете экспортировать объект.

export const graph = { foo, bar }
0 голосов
/ 27 апреля 2020

Вы можете обратиться к: { ссылка }

По этой ссылке:

Добавить в файл 1

var Exported = {
   someFunction: function() { },
   anotherFunction: function() { },
}

module.exports = Exported;

Для доступа к нему в файле 2

var Export = require('path/to/Exported');
Export.someFunction();

Я также пробовал, работает гладко.

0 голосов
/ 27 апреля 2020

Функции foo и bar могут быть определены как свойства объекта, и в этом случае можно экспортировать только объект, а затем к функциям можно получить доступ соответственно там, где они необходимы.

export service = {
  foo : () => {return 'foo'},
  bar : () => {return 'bar' }
}

console.log("service", service.foo())
console.log("service", service.bar())
0 голосов
/ 27 апреля 2020

Вы можете попробовать что-то вроде этого, надеюсь, что я понял ваш вопрос

export const graph = {
    foo: () => { return 'foo' },
    bar: () => { return 'bar' }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...