Запустить приложение Svelte из файла: // без сервера

Мне нужно запустить приложение Svelte и иметь возможность выполнять его без сервера. С другими фреймворками это возможно, поскольку это просто javascript, но я не могу найти способ просто щелкнуть мой index.html и запустить приложение, созданное с помощью Svelte.


person Vector    schedule 23.05.2020    source источник
comment
Привет вектор. Один из плакатов с ответами ниже. Мы хотели бы пояснить, имеете ли вы в виду: 1. Запустите приложение svelte с помощью roll up и создайте его (с помощью npm и т. Д.), А затем запустите приложение БЕЗ сервера (т.е. локально через файл) ... Или 2. Запустите и создайте svelte app БЕЗ сервера (включая неработающий узел на этапе сборки)   -  person Denis Tsoi    schedule 23.05.2020
comment
Вариант 1. Запустите уже созданное приложение локально через file: //   -  person Vector    schedule 23.05.2020
comment
Что вы можете. Я создаю приложения для Android, которые представляют собой просто файлы html / css / js, встроенные в веб-просмотр, так что это протокол file: //. Просто укажите относительный путь в файле index.html к файлам bundle.css и bundle.js.   -  person JeffProd    schedule 23.05.2020


Ответы (1)


Мне нужно запустить приложение Svelte и иметь возможность выполнять его без сервера. С другими фреймворками это возможно, поскольку это просто javascript, но я не могу найти способ просто щелкнуть мой index.html и запустить приложение, созданное с помощью Svelte.

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

Во-первых, вам нужен компьютер для build приложения Svelte, поскольку оно выполняет свертку (и запускает сервер узла) для выполнения компиляции, но OP просит не об этом ...

Чтобы решить execution приложения Svelte, вы можете выполнить это без работающего сервера.

См. Прикрепленный

скриншот

Вам предоставляется npm run build из команды create-svelte app generate, которая выводит public.html.

Его можно использовать для размещения файла, скажем, на Surge.sh, однако, чтобы сделать этот «локальный файл дружественным», вам нужно будет отредактировать выводимый html следующим образом (т.е. удалить базу /).

исходный источник index.html

<link rel='icon' type='image/png' href='/favicon.png'>
<link rel='stylesheet' href='global.css'>
<link rel='stylesheet' href='/build/bundle.css'>

<script defer src='/build/bundle.js'></script>

Окончательный html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width,initial-scale=1'>

    <title>Svelte app</title>

    <link rel='icon' type='image/png' href='favicon.png'>
    <link rel='stylesheet' href='global.css'>
    <link rel='stylesheet' href='build/bundle.css'>

    <script defer src='build/bundle.js'></script>
</head>

<body>
</body>

</html>
person Denis Tsoi    schedule 23.05.2020
comment
Ответ касался сборки и выполнения приложения. Я не твой братан. - person Denis Tsoi; 23.05.2020
comment
В сообщении спрашивается, могут ли они запустить стройное приложение без HTTP-сервера. На снимке экрана четко показан шаблон create-svelte-app в браузере с файлом: //. - person Denis Tsoi; 23.05.2020
comment
Это было первое, что я сделал, и это не сработало. Только что я понял, что использую маршрутизатор (github.com/jacwright/svelte-navaid), и это вызывало проблемы. Я перешел на маршрутизацию на основе хешей, и это решило проблему. Несмотря на то, что ваш ответ не решил мою проблему, это действительно ответ на то, что я написал в вопросе, и я приму его как действительный, спасибо. - person Vector; 23.05.2020
comment
@DenisTsoi Позвольте мне просто удалить все мои комментарии, потому что расширенные комментарии к StackOverflow не подходят. - person LIL LOFIE; 23.05.2020