首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“Nuxtjs SPA模式”与“没有Nuxtjs的Vuejs”的区别

“Nuxtjs SPA模式”与“没有Nuxtjs的Vuejs”的区别
EN

Stack Overflow用户
提问于 2020-01-19 17:17:51
回答 4查看 2.4K关注 0票数 8

我写了一个简单的Nuxtjs项目。根据我从Nuxtjs文档中学到的知识和我测试它的经验,我无法理解'Nuxtjs SPA模式‘和’没有Nuxtjs的Vuejs‘之间的区别。

例如在下面的页面中:

代码语言:javascript
复制
// 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>

如果我运行以下命令:

代码语言:javascript
复制
cmd: nuxt generate

虽然Nuxtjs是在通用模式下配置的,但它为我提供了预先渲染的文件,这些文件在用户的浏览器上也具有SPA功能。例如,构建后的文件如下所示:

代码语言:javascript
复制
// dist/index.html

<body>
  ...
    <div class="userip">14.182.108.22</div>
  ...
</body>

当我跑步的时候

代码语言:javascript
复制
cmd: nuxt start

代码语言:javascript
复制
cmd: nuxt dev

在不生成预渲染文件的情况下,它会生成一个真正的SSR,该SSR会在每次请求时呈现。现在,如果我运行以下命令:

代码语言:javascript
复制
cmd: nuxt generate 

在Nuxtjs的SPA模式下,它给了我一些未渲染的SPA文件(比如在没有使用Nuxtjs的情况下构建Vuejs项目)。以下是输出示例:

代码语言:javascript
复制
// dist/index.html

<body>
  ...
    <div id="__nuxt"><style>#nuxt-loading { ... } ...</style></div>
  ...
</body>

它甚至不包含内部呈现的组件。

并且在实况模式下(不产生预先渲染的文件),

代码语言:javascript
复制
cmd: nuxt start

代码语言:javascript
复制
cmd: nuxt dev

其向客户端提供未呈现的文件。

那么,使用Nuxtjs的SPA模式的Vuejs项目和根本不使用Nuxtjs的Vuejs项目有什么区别呢?

EN

回答 4

Stack Overflow用户

发布于 2020-01-19 21:36:32

在使用Nuxt时,SSR只是我的一个优势。

当您在SPA模式下使用Nuxt时,仍然需要做一些事情:

  • 您不必关心路由,只需在pages文件夹中创建组件
  • 使用asyncDatafetch方法更轻松地将数据加载到组件中的方法
  • Vuex的轻松设置包括自动命名空间存储模块<代码>H29<代码>F210

通常,它为开发Vue.js应用程序提供了一种更结构化的方法。

票数 5
EN

Stack Overflow用户

发布于 2020-04-14 23:23:13

Nuxt可以用于通用应用程序(SSR)、静态生成的应用程序和单页应用程序。

如上所述,Nuxt内置了各种好处,如Vuex、Vue Meta和Vue Router。它还搭建了您的文件结构,并允许您使用nuxt配置文件中的模块和插件轻松配置项目。对于SPA,也可以选择使用Nuxt作为中间件。

https://nuxtjs.org/guide/

票数 1
EN

Stack Overflow用户

发布于 2020-07-06 18:35:08

Nuxt js将比vuejs有基本的优势,因为它是一个使用vuejs构建的框架,而Vue.js是一个开源的模型-视图-视图模型JavaScript框架,仅用于构建用户界面和单页面应用程序。

Nuxt.js是一个建立在Vue.js之上的前端框架,它提供了很好的开发功能,比如服务器端渲染,自动生成的路由,改进的元标签管理和搜索引擎优化。

基本区别可以是:

  1. Nuxt js自己为你创建了路由,只需在pages文件夹中创建组件,你就完成了。声明路由的自动化也可以在vuejs中完成,但您肯定需要为此编写代码。

  1. 结构化项目: vuejs最大的缺点之一(你可以这么说)是,它没有任何由nuxtjs定义的标准化文件夹结构。

  1. 可轻松设置路径之间的转换(在assets文件夹中的main.css文件中声明css )。

Vuex.的

  1. 轻松设置
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59808721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档