Mojolicious не загружает абсолютные файлы JavaScript и CSS - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь использовать Gnuplot для создания HTML-документов "canvas". Когда я помещаю его в public /, Mojolicious генерирует 404-ые файлы javascript и CSS в /usr/share/gnuplot/gnuplot/5.2/js. Без изменения вывода HTML, как я могу заставить эти файлы загружаться правильно?

HTML-контент:

<!DOCTYPE HTML>
<html>
<head>
<title>Gnuplot Canvas Graph</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
<script src="/usr/share/gnuplot/gnuplot/5.2/js/canvastext.js"></script>
<script src="/usr/share/gnuplot/gnuplot/5.2/js/gnuplot_common.js"></script>
<script src="/usr/share/gnuplot/gnuplot/5.2/js/gnuplot_dashedlines.js"></script>
...
</html>

Насмешливая ошибка:

[2019-04-02 16:02:55.54125] [10258] [debug] GET "/usr/share/gnuplot/gnuplot/5.2/js/canvastext.js" (f301442a)
[2019-04-02 16:02:55.54202] [10258] [debug] Template "not_found.development.html.ep" not found
[2019-04-02 16:02:55.54218] [10258] [debug] Template "not_found.html.ep" not found
[2019-04-02 16:02:55.54228] [10258] [debug] Rendering cached template "mojo/debug.html.ep"
[2019-04-02 16:02:55.54337] [10258] [debug] Rendering cached template "mojo/menubar.html.ep"
[2019-04-02 16:02:55.54890] [10258] [debug] 404 Not Found (0.007638s, 130.924/s)

Я знаю, что они конвертируют эти пути к файлам в URL, но я не знаю, как обойти это.

1 Ответ

1 голос
/ 03 апреля 2019

Терминал gnuplot canvas имеет опцию "jsdir" именно по этой причине:

gnuplot> set term canvas jsdir 'http://wherever/the/scripts/live/'

Выходные данные * .html содержат строки типа

<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
<script src="http://wherever/the/scripts/live/canvasmath.js"></script>
<script src="http://wherever/the/scripts/live/gnuplot_common.js"></script>
<script src="http://wherever/the/scripts/live/gnuplot_dashedlines.js"></script>
<script src="http://wherever/the/scripts/live/gnuplot_mouse.js"></script>
...