Я пишу простой проект Nuxt js. Исходя из того, что я узнал из документов Nuxt js и своего опыта при его тестировании, я не смог понять разницу между «Nuxt js SPA mode» и «Vuejs без Nuxt js»
Например, на следующей странице:
// pages/index.vue
<template>
<div class="userip">{{userip}}</div>
</template>
<script>
export default {
data() {
return {
userip: 'in process ...'
}
},
async asyncData() {
let res = await fetch("https://api6.ipify.org?format=json")
.then(response => response.json());
return {userip: res.ip}
}
}
</script>
, если я запускаю следующую команду:
cmd: nuxt generate
, когда Nuxt js настроен в универсальном режиме, он дает мне предварительно обработанные файлы это также имеет функции SPA в браузере пользователя. Например, файл после сборки выглядит следующим образом:
// dist/index.html
<body>
...
<div class="userip">14.182.108.22</div>
...
</body>
и когда я запускаю
cmd: nuxt start
или
cmd: nuxt dev
без создания предварительно обработанных файлов, затем он создает реальный SSR, который отображается при каждом запросе. И теперь, если я запускаю следующее:
cmd: nuxt generate
в режиме SPA Nuxt js, это дает мне несколько не обработанных файлов SPA (например, создание проекта Vuejs без использования Nuxt js ). Ниже приведен пример вывода:
// dist/index.html
<body>
...
<div id="__nuxt"><style>#nuxt-loading { ... } ...</style></div>
...
</body>
, который даже не содержит компонентов, отображаемых внутри.
И в режиме реального времени (без генерации предварительно обработанных файлов),
cmd: nuxt start
или
cmd: nuxt dev
, который подает клиенту неопознанные файлы.
Итак, в чем разница между проектом Vuejs, в котором используется режим SPA Nuxt js, и одним который вообще не использует Nuxt js?