Rails 6 + Webpacker + Yarn: проблема с загрузкой библиотек javascript

У меня возникли проблемы с настройкой библиотеки javascript на rails 6 с помощью webpacker и yarn. Я пробовал с momentjs и alertifyjs но оба вернули мне одну и ту же ошибку, я знаю, где моя ошибка.

Например: я попытался добавить в свой проект библиотеку предупреждений. Я сделал следующие шаги:

yarn add alertifyjs

Я добавил требование в application.js:

require ('alertifyjs');

В моем application.html.erb тег пакета javascript находится в:

<% = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'%>

Если я войду на страницу и увижу обработанный JS-файл вместе со страницей, код alertifyjs присутствует, но при попытке создать новое оповещение я получаю следующую ошибку:

alertify.alert('Ready!');

ReferenceError: Не удается найти переменную: предупредите

То же самое произошло с momentjs.

Моя иерархия папок nodemodules после добавления во дворе alertifyjs: иерархия папок alertifyjs

Спасибо!


person Igor Ehlke Nichele    schedule 11.03.2020    source источник


Ответы (2)


Я решил проблему!

Мне не хватало импорта и размещения переменной global, чтобы иметь доступ за пределами application.js

import alertify from 'alertifyjs';
global.alertify = alertify;
person Igor Ehlke Nichele    schedule 15.03.2020

попробовать var alertify = require ('alertifyjs'); ?

person kevinluo201    schedule 11.03.2020
comment
Я добавил var alertify = require('alertifyjs'); в свой файл application.js, но ошибка: _ReferenceError: не удается найти переменную: оповещение продолжается, - person Igor Ehlke Nichele; 11.03.2020
comment
даже сделать это чуть ниже декларации? - person kevinluo201; 12.03.2020