#javascript #html #svg #web-frontend #svg.js
#javascript #HTML #svg #веб-интерфейс #svg.js
Вопрос:
Я пытаюсь создать базовый прямоугольник внутри моей веб-страницы, используя svg.js . У меня установлена библиотека через npm, и я обновил исходный файл в теге script, но мой SVG-рисунок не будет отображаться.
Консоль выдает ошибку «Неперехваченная ошибка ссылки: SVG не определен»,
Вот фрагмент моего проекта
var draw = SVG('drawing').size(300, 300);
var rect = draw.rect(100, 100).attr({
fill: '#f06'
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" type="text/css" href="main.css">
<title>Breathe</title>
</head>
<body>
<div class="container">
<div class="header-container">
<div class="title-container">
<div>Title</div>
<div></div>
<div></div>
</div>
</div>
<div class="main-container">
<div id="drawing"></div>
</div>
<div class="footer-container">
</div>
</div>
<script src="main.js" type="text/javascript"></script>
<script src="node_modulessvg.jsdistsvg.js"></script>
</body>
</html>
Комментарии:
1. возможно, существует конфликт в именах . переименовать svg.js для чего-то другого не используйте имена, которые предварительно определены
2. Сначала загрузите библиотеку, а затем свой код. Вы сделали это наоборот. Таким образом, вы пытаетесь использовать библиотеку, когда она еще не загружена
3. также разместите свои скрипты сверху над телом
Ответ №1:
Вы загрузили main.js сначала файл, а затем svg.js . Попробуйте изменить порядок.
<script src="node_modulessvg.jsdistsvg.js"></script>
<script src="main.js" type="text/javascript"></script>