Мне действительно любопытно, правильно ли я использую NuxtJS ... Я просто хочу сгенерировать HTML-страницы, поэтому в основном мне не нужен НИКАКОЙ JavaScript! Но каждый раз, когда я создаю любую страницу с помощью Nuxt, там много JS.

Теперь мне удалось удалить скрипты ClientSide с помощью:

 render: {
   injectScripts: false
 },

В nuxt.config.js .. но теперь все равно есть скрипт inlineJS с:

window.__NUXT__={staticAssetsBase:"/_nuxt/static/1614565042",serverRendered:!0,routePath:'"/"'}

Или даже

<script>window.__NUXT__={staticAssetsBase:"/_nuxt/static/1614566041"}</script>
<script src="/_nuxt/3dacfb6.js" defer></script>
<script src="/_nuxt/47380cc.js" defer></script>
<script src="/_nuxt/fbdf180.js" defer></script>
<script src="/_nuxt/77b577f.js" defer></script>
<script src="/_nuxt/04f2e32.js" defer></script>

В сгенерированном HTML ... Я не понимаю, почему нет простого режима, чтобы просто генерировать очень простые HTML-страницы без КАКИХ-либо накладных расходов. Это просто о повторном использовании компонентов для меня и использовании некоторых очень простых переменных .. Никакого JS не нужно использовать вообще и CSS, который я генерирую и комбинирую с YARN, так что больше ничего не нужно ..

Также мне не нравятся теги data-* .. Мне они действительно не нужны. Я хочу создавать простые HTML-страницы без функции на стороне клиента, но с функцией «компонентов», которые вводятся (на стороне сервера) и повторно используются на нескольких страницах.

Я запускаю Nuxt с такой конфигурацией:

  target: 'static',
  render: {
    injectScripts: false
  },
  hooks: {
    'vue-renderer:ssr:context'(context) {
      const routePath = '';
      context.nuxt = '';
    },
  },

Чтобы удалить как можно больше JS и стандартных вещей ... но, похоже, все еще невозможно удалить все и просто сгенерировать простой HTML без чего-либо дополнительного.

Таким образом, вопрос заключается в том,

Как я могу сгенерировать статические страницы с помощью NuxtJS и не включать ЛЮБОЙ файл JS .. особенно стандартный код NUXT-JavaScript?

Если вы думаете, что мне лучше не использовать NuxtJS для простых чистых страниц HTMl, скажите мне :)

2
Martin 1 Мар 2021 в 05:33

2 ответа

Лучший ответ

Nuxt не предназначен для использования только в качестве SSR, у него есть целая часть hydration, которая привнесет интерактивность в ваше приложение даже при переходе на full static. Вероятно, вы могли бы использовать другой SSG, например 11ty или hugo, чтобы не загружался какой-либо JS.

Но вы также можете использовать vue-lazy-hydration и предотвратить гидратацию на верхнем уровне. вашего приложения. Он все еще находится в стадии бета-тестирования, но он должен помочь.

3
kissu 1 Мар 2021 в 04:16

«Если вы думаете, что мне лучше не использовать NuxtJS для простых чистых страниц HTMl, скажите мне :)»

Вам лучше не использовать Nuxt. Это JavaScript-фреймворк, построенный на основе Vue, что упрощает разработку приложений SSR SPA.

Вы упомянули, что не хотите использовать JavaScript, но хотите получить доступ к компонентам и простым переменным. Для меня это звучит так, как будто вам было бы намного лучше использовать PHP и, возможно, вам понравится фреймворк Laravel (хотя я бы рекомендовал простой старый PHP, если вы не хотите накладных расходов на весь фреймворк).

Laravel

0
Nick Dawes 1 Мар 2021 в 10:43