首页 > 其他分享 >Nuxt3项目创建

Nuxt3项目创建

时间:2024-03-20 15:13:48浏览次数:25  
标签:npm 项目 创建 渲染 nuxt Nuxt3 客户端 服务端 页面

一、关于Nuxt.js

官方文档

Nuxt.js是一个基于Vue.js的服务端渲染(SSR)框架,它允许开发者利用Vue.js构建出高性能、SEO友好、可扩展的Web应用程序。相较于前代Nuxt 2,Nuxt3是一个全新的版本,重写了很多核心代码部分并增加了新的功能。

Nuxt3的一些主要特性包括:

  • 基于Vite的构建系统:这使得开发者可以获得更快的开发和构建速度。
  • 改进的路由系统:支持动态路由和嵌套路由,提供了更好的路由配置选项。
  • 改进的数据获取:支持在页面级别和组件级别获取数据,提供了更好的数据获取选项。
  • 新的插件系统:让开发者可以更轻松地添加和管理插件。
  • 新的配置系统:提供了更好的配置选项和更好的默认设置。

二、模板渲染

模板渲染是一个在软件开发中常见的概念,它涉及从后端获取数据后,按照一定规则将数据加载到预定义的模板中,最终输出成浏览器中显示的HTML或其他格式的内容。

根据模板渲染的的时机,可以分为以下两种:

  • 服务端渲染:服务端查询数据库相关数据,然后通过JSP、Thymeleaf等服务端渲染的方式,将数据和模板拼接,形成HTML文件,最后响应给浏览器进行解析并展示页面内容。
  • 客户端渲染:主要依赖浏览器来完成页面的渲染工作。客户端首次请求,服务器返回的HTML页面通常只包含一些基础的结构和占位符,然后通过JavaScript框架(如Vue.js、React等)在客户端动态地加载和解析数据,生成最终的页面内容。

两种渲染方式的优劣:

  • 服务端渲染:
    • 优点:
      1. 首屏加载速度快:因为服务端返回的是一个渲染好的页面,浏览器直接解析。
      2. 有利于SEO优化:服务端返回完整的HTML页面,使得搜索引擎爬虫能抓取到页面有价值的内容,从而提高网站的搜索排名。
    • 缺点:
      1. 服务器压力增大:每一个请求都需要服务器进行处理和渲染。
      2. 不利于前后端分离:服务端渲染需要前端参与模板的编写和维护,降低了前后端的分离程度,增加了协作的复杂性。
  • 客户端渲染:
    • 优点:
      1. 提升用户体验:客户端渲染可以实现更丰富的交互效果和动态内容。
      2. 减轻服务器压力:客户端渲染将部分计算任务转移到了浏览器端,减少了服务器的处理负担
      3. 前后端分离:前端专注于页面的展示和交互,后端专注于提供数据和API接口,使得开发过程更加独立和高效。
    • 缺点:
      1. 首屏加载速度慢:需要等待JavaScript在客户端执行完成才能看到渲染好的页面。
      2. 不利于SEO:搜索引擎爬虫可能无法很好地理解JavaScript动态生成的页面内容,影响网站的搜索排名。

三、同构渲染

同构渲染(也称为通用渲染)是一种现代web开发技术,它结合了服务器端渲染(SSR)和客户端渲染(CSR)的优点。在同构渲染中,首次页面加载时的HTML是在服务器上生成的,然后在客户端上通过JavaScript增强,提供动态的交互性。这种方法旨在提高应用程序的性能和搜索引擎优化(SEO),同时保持丰富的用户体验。

四、创建Nuxt3项目

  • 方式一

    npx nuxi@latest init <project-name>
    

    因为网络问题,这种方式创建项目容易报错

    image-20240320143721097

  • 方式二

    1. 直接克隆代码
    git  clone  -b  v3  https://github.com/nuxt/starter.git
    
    1. 进入目录,安装依赖
    cd starter
    
    npm i
    
    1. 启动项目
    npm run dev
    
    1. 目录结构

    image-20240320144608724

  • 方式三

    1. 使用npm初始化项目
    mkdir nuxt_demo01
    
    cd nuxt_demo01
    
    npm init -y
    
    1. 下载nuxt
    npm i nuxt
    
    1. 目录结构

    image-20240320144751444

    1. 创建配置文件nuxt.config.ts
    import { defineNuxtConfig } from "nuxt/config"
    
    export default defineNuxtConfig({})
    
    1. 创建配置文件tsconfig.json
    {
      "extends": "./.nuxt/tsconfig.json"
    }
    

    此处不用处理

    image-20240320145940994

    1. package.json添加启动脚本命令
    {
      ...
      "scripts": {
        "dev": "nuxi dev"
      },
      ...
    }
    
    1. 启动项目
    npm run dev
    

    启动项目后,会自动创建.next文件夹,tsconfig.json的错误提示就没有了

    image-20240320150134862

标签:npm,项目,创建,渲染,nuxt,Nuxt3,客户端,服务端,页面
From: https://www.cnblogs.com/finish/p/18085265

相关文章

  • web项目部署,一篇就搞定!
    web部署的方式有很多,根据开发方式不同,部署方式也不同。最通用是docker部署,这个想必大家都熟悉。我们今天说另外一种。部署过程1、验证Jdk是否安装成功2、验证Tomcat是否安装成功3、验证Navicat是否能连上数据库4、创建数据库并导入数据库脚本(注意:它这里数据库名必须为:tomexam)......
  • Nginx配置 前后端项目
    2024-03-19Nginx配置新增/查看时间配置项功能1、yuminstallnginx;vim/ngxin/conf/ngxin.conf2、配置sever对外的端口:80993、配置代理服务的地址location/message{proxy_passhttp://47.94.3.133:9000;}4、配置前端项目映射地址loc......
  • 第144篇:阿里低开项目 init方法
    好家伙,  demo-general项目运行后主界面如下 解析阿里低开引擎中的初始化方法init拆解项目来自阿里的lowcodeengine目录下的demogeneral项目0.找到入口文件可以看到整个项目用到的插件非常之多于是init: init 方法用于初始化低代码引擎,负责加载各种插件并配......
  • 前端必学-40个精选案例实战-案例9:企业首页实战项目【PC端网页布局】
    项目首页.psd项目设计图头部导航条的制作资源:html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,......
  • JAVA实战开源项目:高校大学生创业管理系统(Vue+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1系统公告模块2.2创业项目模块2.3创业社团模块2.4政府政策模块2.5创业比赛模块三、系统设计3.1用例设计3.2数据库设计3.2.1系统公告表3.2.2创业项目表3.2.3创业社团表3.2.4政策表四、系统展示五、核......
  • [.NET项目实战] Elsa开源工作流组件应用(二):内核解读
    @目录定义变量内存寄存器类寄存器中的存储区块类变量到存储的映射类上下文对象活动上下文(ActivityExecutionContext)工作流执行上下文(WorkflowExecutionContext)表达式执行上下文(ExpressionExecutionContext)构建构建活动构建工作流运行注册注册工作流注册活动填充Invoke活动可观测性......
  • 项目范围管理
    范围管理概述项目范围管理包括确保项目做且只做所需的全部工作,已成功完成项目。项目范围管理主要在于定义和控制哪些工作应该包括在项目内,哪些不应该包含在项目内。在项目环境中,“范围”这一术语有两种含义:产品范围;项目范围。产品范围指某项产品、服务或成果所具有的特征......
  • 项目进度管理
    进度管理概述项目进度管理是为了保证项目按时完成,对项目所需的各个过程进行管理。项目团队编制进度计划的一般步骤为:1.首选选择进度计划方法,例如关键路径法;2.然后将项目特定数据,如活动、计划日期、资源、依赖关系、制约因素等输入进度计划编制工具,创建项目进度模型;3.......
  • 2024年是否是人形机器人的元年 —— 继OpenAI/Google/特斯拉之后黄仁勋也宣布NVIDIA公
    相关:https://www.youtube.com/watch?v=bMIRhOXAjYk......
  • 【网站项目】新冠病例智能统计与相应预防措施分析系统.
    ......