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
- 安装制定版本
Node
nvm install <version> # 例如 nvm install v14.17.0
- 列出所有可安装的
Node
版本nvm ls-remote
- 列出已安装
Node
版本nvm list
- 切换到已安装的指定版本
nvm use <version> # 例如 nvm use v12.22.11
- 卸载指定版本的
Node
nvm uninstall <version> # 卸载特定版本
- 查看当前正在使用的
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 项目结构 在当今快速发展的前端技术领域中,掌…...

面试“利器“——微学时光
大家好,我是程序员阿药。微学时光是一款专为计算机专业学生和IT行业求职者设计的面试刷题小程序,它汇集了丰富的计算机面试题和知识点,旨在帮助用户随时随地学习和复习,提高自身的技术能力和面试技巧。 主题 随时随地学习&#x…...
【Unity】【游戏开发】游戏引擎是如何模拟世界的
【核心感悟】 游戏引擎通过两个维度的合并来模拟这个时间。 一个维度叫物理模型。 一个维度叫视觉模型。 对于物理模型,我们需要用物理引擎给予行为。 对于视觉模型,我们需要用动画去给予行为。 物理模型是真实机制,视觉模型是艺术表现&…...

vscode配置conda虚拟环境【windows系统】
安装好anacondavscode里安装python插件 3.点击左侧插件 如图1,再2,再点击3小星星激活conda环境 最后下方栏就出现conda环境了。就可以用啦...

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

无人机之自主飞行关键技术篇
无人机自主飞行指的是无人机利用先进的算法和传感器,实现自我导航、路径规划、环境感知和自动避障等能力。这种飞行模式大大提升了无人机的智能化水平和操作的自动化程度。 一、传感器技术 传感器是无人机实现自主飞行和数据采集的关键组件,主要包括&a…...
performance.timing
performance.timing 是 Web 性能 API 的一部分,用于获取页面加载过程中的各个时间戳。这些时间戳可以帮助开发者分析页面加载性能,找出潜在的瓶颈。performance.timing 返回一个 PerformanceTiming 对象,该对象包含了多个属性,每个…...

教你不用下载 maven,不用配置环境变量,在 idea 上创建 maven 项目
我的主页:2的n次方_ 1. Maven Maven是⼀个项⽬管理⼯具, 通过 pom.xml ⽂件的配置获取 jar 包,⽽不⽤⼿动去添加 jar 包,这样就大大的提高了开发效率 2. Maven 的核心功能 2.1. 项目构建 创建第一个 Maven 项目 Maven 提供了标准的…...
linux 设置tomcat开机启动
在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为 tomcat.service 的 systemd 服务文件,并将其放置在 /etc/systemd/system/ 目录下。以下是一个基本的服务文件示例,假设Tomcat安装在 /usr/local/tomcat 路径下:…...

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

Python爬虫进阶(实战篇一)
接,基础篇,链接:python爬虫入门(所有演示代码,均有逐行分析!)-CSDN博客 目录 1.爬取博客网站全部文章列表 ps:补充(正则表达式) 爬虫实现 爬虫代码: 2.爬…...
运维面试题(2)
ssh服务(重点)协议使用 端口 号:默认是 22, 可以是被修改的,如果需要修改,则需要修改 ssh 服务的配置文件:#/etc/ssh/ssh_config,可以通过这个配置文件来修改端口 端口号可以修改&am…...
Django CSRF Token缺失或不正确
在Django中,CSRF(跨站请求伪造)验证失败,提示“CSRF token missing or incorrect”的错误,通常是由以下几个原因造成的: 忘记在表单中添加 {% csrf_token %} 模板标签:这是最常见的原因之一。确…...
10.12Python数学基础-矩阵(下)
9.矩阵的转置 矩阵的转置(Transpose)是矩阵操作中的一种基本运算。它通过交换矩阵的行和列来生成一个新的矩阵。具体来说,如果 A 是一个 mn 的矩阵,那么它的转置矩阵 A^T 是一个 nm 的矩阵,其中 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的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch…...

训练VLM(视觉语言模型)的经验
知乎:lym 链接:https://zhuanlan.zhihu.com/p/890327005 如果可以用prompt解决,尽量用prompt解决,因为训练(精调)的模型往往通用能力会下降,训练和长期部署成本都比较高,这个成本也包…...
犬儒乐队热歌《阶梯》主观
犬儒乐队一直以来是中国独立音乐界的一支重要力量。他们的音乐作品总是充满创意与实验,擅长将不同的音乐元素融合在一起,给人带来耳目一新的感受。最近,犬儒乐队发布了一首新歌《阶梯》,让我们一起来评价一下这首作品。 首先&…...

多模态大语言模型(MLLM)-Blip3/xGen-MM
论文链接:https://www.arxiv.org/abs/2408.08872 代码链接: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…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...