当前位置: 首页 > news >正文

NVM配置与Vue3+Vite项目快速搭建指南

本文目录

  • 1、配置环境
    • 1.1 NVM
      • 1、nvm常用命令
    • 1.2 Mac配置环境
      • 1、安装nvm
    • 1.3 Window配置环境
      • 1、安装nvm
  • 2、 项目搭建
    • 2.1 项目依赖
    • 2.2 安装依赖
    • 2.3 配置
      • 1、别名配置
      • 2、创建样式及图片文件夹
      • 3、路由
    • 2.4 项目搭建效果
    • 2.5 项目结构

在当今快速发展的前端技术领域中,掌握高效的环境配置和项目搭建技能是至关重要的。Node Version Manager(NVM)作为一款强大的Node.js版本管理工具,能够帮助开发者轻松切换和管理不同版本的Node.js,以满足不同项目的需求。无论是在Mac还是Windows系统上,NVM都能提供便捷的安装和使用体验。
随着Vue.js框架的不断演进,Vue3+Vite的组合已经成为构建现代Web应用的主流选择。Vue3带来了更加高效和灵活的响应式系统,而Vite则以其极快的冷启动速度和即时的模块热更新,极大地提升了开发效率。
本文旨在为读者提供一份详尽的NVM配置指南以及Vue3+Vite项目搭建的实战教程。从NVM的安装与使用,到Vue3+Vite项目的依赖管理、配置优化,再到项目结构的梳理,我们将一步步引导读者完成项目的初始化搭建。希望本文能够帮助读者快速上手,高效推进前端项目的开发工作。

1、配置环境

1.1 NVM

NVM(Node Version Manager),即Node版本管理工具,是前端开发中一个非常实用的工具,它主要用于管理和切换不同版本的Node.js

  • 多版本管理:NVM允许开发者在同一台机器上同时安装多个版本的Node.js。这对于需要在不同项目中使用不同Node.js版本的开发者来说非常有用。
  • 版本切换:通过简单的命令行操作,开发者可以轻松地在不同版本的Node.js之间进行切换,避免了手动配置环境变量的繁琐过程。
  • 简化环境配置:NVM简化了环境配置的过程,提高了开发效率。开发者可以在不同项目中使用不同的Node.js版本,而无需为每个项目手动安装和配置Node.js
  • 避免冲突和兼容性问题:使用NVM可以避免不同项目之间的Node.js版本冲突和兼容性问题。开发者可以根据每个项目的需求选择合适的Node.js版本,确保项目能够正常运行。
  • 管理全局和局部包:除了管理Node.js版本外,NVM还可以管理全局和局部安装的npm包。这有助于开发者在每个版本的Node.js中安装和管理自己需要的包,而不会相互干扰。

1、nvm常用命令

使用 nvm install node 安装最新版本的node

  1. 安装制定版本Node

    nvm install <version> # 例如 nvm install v14.17.0

  2. 列出所有可安装的Node版本

    nvm ls-remote

  3. 列出已安装Node版本

    nvm list

  4. 切换到已安装的指定版本

    nvm use <version> # 例如 nvm use v12.22.11

  5. 卸载指定版本的Node

    nvm uninstall <version> # 卸载特定版本

  6. 查看当前正在使用的Node版本

    nvm current # 显示当前激活的 Node版本

1.2 Mac配置环境

1、安装nvm

首先得确保电脑中没有node环境,如果有的话先卸载。接着允许命令brew install nvm,出现下图则成功:
在这里插入图片描述
但是可以看到我们终端允许命令 nvm -v看到找不到nvm,接着使用命令brew list nvm看到路径如下:
在这里插入图片描述

接着我们使用vscode的命令code ~/.zshrc打开配置文件进行配置,路径记得改成你自己的路径:
在这里插入图片描述
接着保存后在终点运行命令source ~/.zshrc,来重新加载配置文件。接着输入命令nvm -v,出现如下图说明安装成功:
在这里插入图片描述

1.3 Window配置环境

1、安装nvm

打开网址https://github.com/coreybutler/nvm-windows/releases,如下图所示:
在这里插入图片描述
直接点击下载安装。安装成功后直接终端输入命令nvm -v如果出现版本号的话说明成功了。


2、 项目搭建

2.1 项目依赖

输入命令npm init vite@latest my-vue-app -- --template vue
在这里插入图片描述
接着输入命令npm install等待安装好依赖项,然后运行命令npm run dev出现如下图则我们项目搭建成功:
在这里插入图片描述


2.2 安装依赖

直接输入命令一次性安装依赖npm i less vue-router element-plus @element-plus/icons-vue
出现如图所示即为安装成功:
在这里插入图片描述
在这里插入图片描述


2.3 配置

1、别名配置

vite.config.js中写入如下代码:

  // 路径别名resolve: {alias: [{find: '@',replacement: "/src"}]}

在这里插入图片描述

2、创建样式及图片文件夹

src/assets下创建文件夹如下图所示:
在这里插入图片描述
index.less中引入reset.less@import './reset.less';
reset.less写入重置代码:

/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126License: none (public domain)
*/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, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;
}
body {line-height: 1;
}
ol, ul {list-style: none;
}
blockquote, q {quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;
}
table {border-collapse: collapse;border-spacing: 0;
}

main.js中引入:import '@/assets/less/index.less',可以看到已经生效:
在这里插入图片描述

3、路由

src中新建文件夹views,新建Main.vue,写入如下代码:

<template><div>main</div>
</template><script setup></script><style scoped>
</style>

src中新建文件夹router,新建index.js,写入如下代码:

import { createRouter, createWebHashHistory } from "vue-router";// 路由规则
const routes = [{path: '/',name: 'main',component: () => import('@/views/Main.vue')}
]const router = createRouter({// 设置模式history: createWebHashHistory(),routes
})export default router;

main.js中引入router

import router from './router'const app = createApp(App)
app.use(router).mount('#app')

接着在App.vue中写入代码如下:

<script setup></script><template><router-view></router-view>
</template><style scoped>
</style>

2.4 项目搭建效果

在这里插入图片描述
显示如图的话,所以我们的项目搭建初始化是成功的。


2.5 项目结构

最后给出项目的结构目录如下:

├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
│   └── vite.svg
├── src
│   ├── App.vue
│   ├── assets
│   │   ├── images
│   │   ├── less
│   │   │   ├── index.less
│   │   │   └── reset.less
│   │   └── vue.svg
│   ├── components
│   │   └── HelloWorld.vue
│   ├── main.js
│   ├── router
│   │   └── index.js
│   └── views
│       └── Main.vue
└── vite.config.js

在学习的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

相关文章:

NVM配置与Vue3+Vite项目快速搭建指南

本文目录 1、配置环境1.1 NVM1、nvm常用命令 1.2 Mac配置环境1、安装nvm 1.3 Window配置环境1、安装nvm 2、 项目搭建2.1 项目依赖2.2 安装依赖2.3 配置1、别名配置2、创建样式及图片文件夹3、路由 2.4 项目搭建效果2.5 项目结构 在当今快速发展的前端技术领域中&#xff0c;掌…...

面试“利器“——微学时光

大家好&#xff0c;我是程序员阿药。微学时光是一款专为计算机专业学生和IT行业求职者设计的面试刷题小程序&#xff0c;它汇集了丰富的计算机面试题和知识点&#xff0c;旨在帮助用户随时随地学习和复习&#xff0c;提高自身的技术能力和面试技巧。 主题 随时随地学习&#x…...

【Unity】【游戏开发】游戏引擎是如何模拟世界的

【核心感悟】 游戏引擎通过两个维度的合并来模拟这个时间。 一个维度叫物理模型。 一个维度叫视觉模型。 对于物理模型&#xff0c;我们需要用物理引擎给予行为。 对于视觉模型&#xff0c;我们需要用动画去给予行为。 物理模型是真实机制&#xff0c;视觉模型是艺术表现&…...

vscode配置conda虚拟环境【windows系统】

安装好anacondavscode里安装python插件 3.点击左侧插件 如图1&#xff0c;再2&#xff0c;再点击3小星星激活conda环境 最后下方栏就出现conda环境了。就可以用啦...

libgpiod在imx8平台交叉编译说明

如下记录是在 imx8上测试使用 参考博主的文章 iMX6ULL 库移植 | Libgpiod 库的交叉编译及使用指南(linux) 编译说明 1: build.sh代码如下所示&#xff0c;先执行 source build.sh&#xff0c;注意修改交叉编译工具链为自己本地的地址&#xff1b; 2&#xff1a;执行 ./autogen…...

无人机之自主飞行关键技术篇

无人机自主飞行指的是无人机利用先进的算法和传感器&#xff0c;实现自我导航、路径规划、环境感知和自动避障等能力。这种飞行模式大大提升了无人机的智能化水平和操作的自动化程度。 一、传感器技术 传感器是无人机实现自主飞行和数据采集的关键组件&#xff0c;主要包括&a…...

performance.timing

performance.timing 是 Web 性能 API 的一部分&#xff0c;用于获取页面加载过程中的各个时间戳。这些时间戳可以帮助开发者分析页面加载性能&#xff0c;找出潜在的瓶颈。performance.timing 返回一个 PerformanceTiming 对象&#xff0c;该对象包含了多个属性&#xff0c;每个…...

教你不用下载 maven,不用配置环境变量,在 idea 上创建 maven 项目

我的主页&#xff1a;2的n次方_ 1. Maven Maven是⼀个项⽬管理⼯具, 通过 pom.xml ⽂件的配置获取 jar 包&#xff0c;⽽不⽤⼿动去添加 jar 包&#xff0c;这样就大大的提高了开发效率 2. Maven 的核心功能 2.1. 项目构建 创建第一个 Maven 项目 Maven 提供了标准的…...

linux 设置tomcat开机启动

在Linux系统中&#xff0c;要配置Tomcat开机自启动&#xff0c;可以创建一个名为 tomcat.service 的 systemd 服务文件&#xff0c;并将其放置在 /etc/systemd/system/ 目录下。以下是一个基本的服务文件示例&#xff0c;假设Tomcat安装在 /usr/local/tomcat 路径下&#xff1a…...

opencv出错以及解决技巧

opencv配置 一开始&#xff0c;include的路径是<opencv4/opencv2/…> 这样在using namespace cv的时候导致了报错&#xff0c; 所以在cmakelist中需要对cmake的版本进行升级。 set(CMAKE_CXX_FLAGS “-stdc14 -O0 -Wall”)-O0 表示在编译过程中不进行任何优化 对应的pac…...

Python爬虫进阶(实战篇一)

接&#xff0c;基础篇&#xff0c;链接&#xff1a;python爬虫入门&#xff08;所有演示代码&#xff0c;均有逐行分析&#xff01;&#xff09;-CSDN博客 目录 1.爬取博客网站全部文章列表 ps:补充&#xff08;正则表达式&#xff09; 爬虫实现 爬虫代码&#xff1a; 2.爬…...

运维面试题(2)

ssh服务&#xff08;重点&#xff09;协议使用 端口 号&#xff1a;默认是 22&#xff0c; 可以是被修改的&#xff0c;如果需要修改&#xff0c;则需要修改 ssh 服务的配置文件&#xff1a;#/etc/ssh/ssh_config&#xff0c;可以通过这个配置文件来修改端口 端口号可以修改&am…...

Django CSRF Token缺失或不正确

在Django中&#xff0c;CSRF&#xff08;跨站请求伪造&#xff09;验证失败&#xff0c;提示“CSRF token missing or incorrect”的错误&#xff0c;通常是由以下几个原因造成的&#xff1a; 忘记在表单中添加 {% csrf_token %} 模板标签&#xff1a;这是最常见的原因之一。确…...

10.12Python数学基础-矩阵(下)

9.矩阵的转置 矩阵的转置&#xff08;Transpose&#xff09;是矩阵操作中的一种基本运算。它通过交换矩阵的行和列来生成一个新的矩阵。具体来说&#xff0c;如果 A 是一个 mn 的矩阵&#xff0c;那么它的转置矩阵 A^T 是一个 nm 的矩阵&#xff0c;其中 A^T 的第 i 行第 j 列…...

vue网络自学知识点汇总

初体验 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!--1.引入vue.j…...

Springboot项目Activemq延迟自定义消息完整代码案例(亲测可用)

1、porm.xml增加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId> </dependency> 2、application.properties增加配置 # 连接地址 spring.activemq.broker-url=fa…...

常见ElasticSearch 面试题解析(上)

前言 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java语言开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是一种流行的企业级搜索引擎。ElasticSearch…...

训练VLM(视觉语言模型)的经验

知乎&#xff1a;lym 链接&#xff1a;https://zhuanlan.zhihu.com/p/890327005 如果可以用prompt解决&#xff0c;尽量用prompt解决&#xff0c;因为训练&#xff08;精调&#xff09;的模型往往通用能力会下降&#xff0c;训练和长期部署成本都比较高&#xff0c;这个成本也包…...

犬儒乐队热歌《阶梯》主观

犬儒乐队一直以来是中国独立音乐界的一支重要力量。他们的音乐作品总是充满创意与实验&#xff0c;擅长将不同的音乐元素融合在一起&#xff0c;给人带来耳目一新的感受。最近&#xff0c;犬儒乐队发布了一首新歌《阶梯》&#xff0c;让我们一起来评价一下这首作品。 首先&…...

多模态大语言模型(MLLM)-Blip3/xGen-MM

论文链接&#xff1a;https://www.arxiv.org/abs/2408.08872 代码链接&#xff1a;https://github.com/salesforce/LAVIS/tree/xgen-mm 本次解读xGen-MM (BLIP-3): A Family of Open Large Multimodal Models 可以看作是 [1] Blip: Bootstrapping language-image pre-training…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用&#xff0c;前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率&#xff0c;还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库&#xff08;Naive UI、Element …...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...