Phoenix: ошибка при обращении к зависимости exq_ui через git - PullRequest
0 голосов
/ 23 апреля 2020

Я использую exq и exq_ui для фоновой обработки заданий и мониторинга в моем приложении Phoenix.

Сначала я ссылаюсь на exq_ui в mix.exs случаях, таких как:

{:exq_ui, "~> 0.11.0", only: [:dev, :qa, :stg, :prod]}

И все работает нормально.

Но затем я обнаружил 2 ошибки в пользовательском интерфейсе:

  • Когда я нажимаю на вкладку Занят, она взрывается на на стороне сервера, и ничего не отображается на вкладке Занят в пользовательском интерфейсе.
  • На вкладке Запланировано, когда задание передается в качестве аргумента в виде списка карты, оно отображается как [Object object] в столбце Аргументы вместо реальное содержание аргументов.

Я исправляю эти ошибки здесь, в этом PR, для основного официального репо: https://github.com/akira/exq_ui/pull/89/files

Но я не могу этого ожидать в ближайшее время будут объединены, поэтому я изменяю свою зависимость в mix.exs следующим образом:

{:exq_ui, "~> 0.11.0",
  git: "https://github.com/chauhonglinh/exq_ui.git",
  branch: "feature/fix_busy_tab_in_exq_ui",
  only: [:dev, :qa, :stg, :prod]}

Теперь проблема возникает.

* mix deps.get, mix deps.compile и iex -S mix phx.server все работают успешно.

Но затем, когда я выбираю http://localhost: 4040 , пользовательский интерфейс не отображается, и в консоли javascript Ther Это ошибки:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:4040/assets/vendor.css".
exq_ui:20 
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:4040/assets/exqui.css".
vendor.js:1 Uncaught SyntaxError: Unexpected token <
exqui.js:1 Uncaught SyntaxError: Unexpected token <

Вопрос: Почему эта ошибка не произошла с обычным конфигом deps, а произошла с конфигом deps, относящимся к git репо?

Как я могу это исправить?

Я думаю, что React и Angular также имеют схожие ошибки в определенных ситуациях, но кажется, что никто не может исправить их, только некоторые анекдоты здесь и там .

1 Ответ

0 голосов
/ 24 апреля 2020

Я понял, в чем проблема. Но я пока не вижу хорошего решения, если мой PR не объединен (если не считать копирования всего пакета exq_ui и создания нового)

В этом проблема.

Что касается пакета, подобного этому, указывает на двоичное распределение в hex.pm, следовательно, все модули ember js и js предварительно упакованы и правильно настроены:

{:exq_ui, "~> 0.11.0", only: [:dev, :qa, :stg, :prod]}

Однако ссылка на пакет в github указывает на источник из github, поэтому он имеет только источник:

{:exq_ui, "~> 0.11.0",
  git: "https://github.com/chauhonglinh/exq_ui.git",
  branch: "feature/fix_busy_tab_in_exq_ui",
  only: [:dev, :qa, :stg, :prod]}

Решение для среды разработки: Для того, чтобы оно работало в среде разработки изнутри моего Репо Phoenix, мне нужно выполнить следующие команды:

cd deps/exq_ui/priv/ember
npm install
bower install
node_modules/ember-cli/bin/ember build --environment=production

Тогда веб-интерфейс на http://localhost: 4040 будет работать правильно.

Осталось Вопрос: Когда я ссылаюсь на exq_ui из репозитория git, я все еще не понимаю, как сделать бинарную распределенную версию для exq_ui, когда я хочу выпустить свое приложение Phoenix.

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