Правильное место для объявления многих модулей, предоставляющих подобный сервис в JavaScript - PullRequest
0 голосов
/ 20 декабря 2018

Я пишу интерфейс, который группирует существующие узловые модули, предоставляющие ту же услугу, например, геолокацию.Администратор приложения может установить / выбрать только один модуль, который будет предоставлять услугу для всего приложения.

Мои вопросы: Где я должен разместить require декларации?

а) В начале?все декларации вместе:

const _service1 = require('service1');
...
const _serviceN = require('serviceN');

или б) В каждом отдельном случае?Одно объявление за раз:

switch (serviceName) {
    case 'serviceOne':
        const _service1 = require('service1');
        ...
        break;
    ...
    case 'serviceEN':
        const _serviceN = require('serviceN');
        ...
        break;

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

Я решил использовать обходной путь, например:

case 'serviceEX':
    if (!_serviceX) {
        const _serviceX = require('serviceX');
    }
    ...
    break;

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

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

В js самый распространенный стиль объявления модулей - в начале файла.

0 голосов
/ 20 декабря 2018

Согласно руководству по стилю javascript для Airbnb, вы всегда должны выполнять импорт до кода без импорта.

См. здесь для получения дополнительной информации.

...