Альтернатива импортированию глобальной константы es6 - PullRequest
0 голосов
/ 13 сентября 2018

Я разрабатываю тему WordPress с помощью Sage 9 и пытаюсь разделить мои файлы для более чистого кода для более чистого кода.Я использую веб-пакет для локального связывания JavaScript.

Существует маршрутизатор, настроенный для запуска JavaScript только на определенных страницах.Однако, когда я пытаюсь импортировать содержимое файла как константу, оно имеет глобальную область и вызывает проблемы на домашней странице.Следующий пример должен лучше объяснить:

// formPage.js (the init function is only run on the form page)
import { validateAge } from '../modules/validateAge';
export default {
  init() {
    // Javascript to be fired on the form page
    new validateAge();
  },
};

// ../modules/validateAge.js
export const validateAge = Marionette.Object.extend({
  ...
}

Как я могу переписать это без глобальной области видимости объекта марионетки?Это не удается на домашней странице, поскольку зависимость Marionette загружается только на странице формы (отдельно от пакета), а не на домашней странице.

1 Ответ

0 голосов
/ 14 сентября 2018

Хорошо, я исправил это, экспортируя как функцию, а не как константу, поэтому определяю область действия вызова Marionette.

...