Создание сервисной библиотеки в JavaScript, как экспортировать функции из одного файла в другой? - PullRequest
0 голосов
/ 22 апреля 2020

Итак, у меня есть этот код в службе идентификации.

export function sumbitLogin(username, password) {
    console.log(username, password);
}

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

Итак, я создал js файл библиотеки, который просто содержит

export * as Identity from "./identity-service";

, чтобы я мог затем импортировать этот один файл из моего компонента как

import * as Services from '../../services/service-library';

Похоже, что это не так, потому что это дает мне эту ошибку

./src/services/service-library.js 1:9
Module parse failed: Unexpected token (1:9)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/eslint-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
> export * as Identity from "./identity-service";

Я пытался экспортировать его 10 различными способами, но никогда не смогу достичь submitLogin(). Кто-нибудь видит, чего мне не хватает? Я чувствую, что другой загрузчик не нужен, но если это не так, я не знаю, какой загрузчик мне нужен?

1 Ответ

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

Лучший способ сделать это - создать индекс . js файл в папке services , куда вы можете повторно экспортировать все службы:

import * as Identity from './identity-service';
import * as Logger from './logger-service';
...

export {
  Identity,
  Logger,
};

Тогда вы можете использовать этот файл напрямую:

import * as Services from '../services';

const { Identity, Logger } = Services;

Identity.sumbitLogin(username, password);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...