create-response-app не может получить доступ к глобальному объекту javascript из app.min. js - PullRequest
0 голосов
/ 09 мая 2020

Я использую шаблон create-react-app и реализую тему администратора для макета. В файле index.html есть импорт script из ресурса темы, например:

<body>
  <noscript>
    You need to enable JavaScript to run this app.
  </noscript>
  <div id="root"></div>
  <script src="%PUBLIC_URL%/assets/global/scripts/app.min.js" type="text/javascript"></script>
</body>

Внутри этого скрипта есть глобальный объект javascript с именем App для управления пользовательским интерфейсом. И теперь я хочу вызвать этот объект в моем React коде:

export const alertMessage = (options = {}) => {
  const defaultOption = {
    type: 'info',
    message: 'message',
    closeInSeconds: 5
  };

  if (ALERT_TYPE_CORRECT[options.type] != null)
    options.type = ALERT_TYPE_CORRECT[options.type];

  options.icon = DEFAULT_ALERT_ICON_MAP[options.type];

  App.alert(Object.assign(defaultOption, options)); // here
};

Но он выдает ошибку:

./src/Commons/utils/index.js
Line 25:3:  'App' is not defined  no-undef

Как заставить это работать? Должен ли я получить к нему доступ с помощью window.App?

1 Ответ

0 голосов
/ 09 мая 2020

Можете ли вы опубликовать файл index. html? Файл сценария находится над root div? В этом случае вы сможете получить к нему доступ, используя переменную окна.

...