Vue(五). 安装脚手架及一些基本配置

news2024/12/23 11:13:00

文章目录

  • vue脚手架前言
  • 1. 安装脚手架
    • 1. 安装nvm
    • 2. 使用nvm安装node
    • 3. 配置node的全局路径和缓存路径
    • 4. 配置npm默认镜像源
    • 5. 安装脚手架
    • 全局路径和缓存测试
  • 2. 文件结构及项目配置
    • 2.1 文件结构
    • 2.2 项目基本配置
    • 补充. vue项目安装依赖的一个问题

vue脚手架前言

脚手架也叫Vue CLI(command Line interface),安装脚手架之前需要配置node.js。简单记录一下我对Vue脚手架、node、npm,nvm的理解。

  • 为什么安装Vue脚手架
    Vue是一款JS框架。写代码的时候可以看出Vue框架的文件格式都是.vue,而浏览器只认识.js这种基本的文件,Vue脚手架就是将.vue转换为.js文件。使得Vue能够正常运行。

  • 为什么需要安装node
    node.js就是一个平台,一个环境。js文件可以在这个环境上运行。所以配置Node是为了让JS文件能够运行起来。

  • npm是啥,nvm是啥
    npm是node默认的包管理器,用来下载代码用到的依赖包。
    nvm用来切换node版本。

以炒鸡蛋举例的话,
鸡蛋------>js文件
node----->炒菜的锅(不同版本的node类似于不同的锅,铁锅or不粘锅)
npm----->用来管理炒菜的调料 (炒鸡蛋需要放盐,那就去买袋盐(即写文件需要某项依赖,通过npm install xxx下载不同的依赖包))
nvm----->根据要求,切换不同的锅。

1. 安装脚手架

nvm不是必须要安装的,必须要装的是node和脚手架。但我这里是通过nvm安装node,所以不打算安装nvm的话,接下来的内容帮助就不大了
主要参考博客1和博客2

1. 安装nvm

  • 去github下载安装包
    在这里插入图片描述
  • 解压点击.exe文件,选择nvm安装位置
    在这里插入图片描述
  • 选择node安装位置
    在这里插入图片描述
  • 安装完之后,在终端输入nvm version,能查到版本号就说明安装成功了
    在这里插入图片描述
    此时环境变量已经自动配置好了
    在这里插入图片描述
  • 最后配置镜像下载源,打开nvm安装路径里的setting文件:
    在这里插入图片描述

问:为什么要配置镜像?
答:配置镜像之后,下载的速度会快一点

npm_mirror:https://npmmirror.com/mirrors/npm/
node_mirror:https://npmmirror.com/mirrors/node/

通过下边的安装可以看出,安装node时会自动安装上npm。猜测,这两个镜像一个是下载node的,一个是下载npm的。

2. 使用nvm安装node

  • list available:查看可以安装的node版本
    在这里插入图片描述
    一般都安装LTS这一类的
  • nvm install 版本号:安装对应版本的node。(nvm在安装node时,也会下载npm)
    在这里插入图片描述
    node -v:查询安装的node版本
    npm -v:查询安装的npm版本
    nvm use 版本号:设置使用哪个版本的node
    nvm list:查看已安装的node
    在这里插入图片描述
    在nvm文件夹也可以看出,有两个版本的node,每个版本的node里,都配有一个npm。(也就是,每个锅都有自己的一袋盐,并不共用同一袋)
    在这里插入图片描述
    在这里插入图片描述
    nvm切换版本:
    在这里插入图片描述
    这个外层的node文件也就是安装nvm时指定node安装路径时的文件

3. 配置node的全局路径和缓存路径

在进行全局命令安装时,默认会安装在C盘,为了节省C盘空间,则需要配置全局和缓存路径

  • 首先在任意一个版本的文件夹里创建这两个文件(别的博客说这不是必须的,但我是这么做的,就这么记录了)。
    在这里插入图片描述

设置接下来的prefix和cache后,以后每次通过nvm安装node就不需要手动创建这两个文件了

  • 设置全局prefix和缓存cache的存放路径

在cmd中执行一下两行代码(注意根据自己的情况将百分号内的内容替换掉)

npm config set cache "%NVM_SYMLINK%\node_cahce"
npm config set prefix "%NVM_SYMLINK%\node_global"

%NVM_SYMLINK%就是nvm安装时,自动生成的环境变量。
在这里插入图片描述
以我自己的举例,就是执行以下两行代码

npm config set cache "D:\JavaEnvironment\node\node_cahce"
npm config set prefix "D:\JavaEnvironment\node\node_global"
  • 配置环境变量,打开系统变量的path:
    在这里插入图片描述
    前两个是自动生成的,后边那个自己加上就行

4. 配置npm默认镜像源

修改npm镜像源为淘宝镜像源

npm config set registry http://registry.npmmirror.com

检查是否成功

npm config get registry

在这里插入图片描述

5. 安装脚手架

(现在node版本已切换到18.20.0)

  1. 全局安装脚手架npm install -g @vue/cil。可以执行vue命令测试是否安装过。


有警告没关系,不用管。以后再创建配有脚手架的项目,直接通过vue命令执行即可,无需再安装脚手架。

  1. 切换到要创建项目的目录,使用命令vue create xxx创建项目
    在这里插入图片描述
  2. 进入项目文件,使用命令npm run serve运行项目
    在这里插入图片描述
    浏览器输入网站http://localhost:8080/,成功运行
    在这里插入图片描述

全局路径和缓存测试

20.10.0版本的文件夹里,没有cache和global文件。使用nvm切换为这个版本的node之后,同样安装vue脚手架,可以看出已经自动添加了global和cache两个文件夹。
在这里插入图片描述
global文件夹里也有vue脚手架了
在这里插入图片描述

2. 文件结构及项目配置

2.1 文件结构

├── node_modules:存放项目依赖
├── public: 一般放置一些静态资源(图偏)
│   ├── favicon.ico: 页签图标
│   └── index.html: 主页面
├── src
│   ├── assets: 一般放置多个组件共用的静态资源
│   │   └── logo.png
│   │── component: 存放组件的文件夹,一般放置的是非路由组件/全局组件
│   │   └── HelloWorld.vue
│   │── App.vue: 唯一的根组件
│   │── main.js: 整个项目的入口文件
├── .gitignore: git版本管制忽略的配置(哪些文件需要git管理,哪些文件不需要git管理)
├── babel.config.js: babel的相关配置文件
├── package.json: 应用包配置文件,记录项目的信息及项目中有哪些依赖
├── README.md: 应用描述文件
├── package-lock.json:包版本控制文件,缓存性文件,记录项目上的依赖都从那儿来的等信息

需要注意:(没打包过,先记录一下)

  • 放在public里的静态资源,webpack打包时,会原封不动的打包到dist文件夹中
  • assets里的静态资源,webpack打包时,会被当作一个模块,打包到JS文件里面

2.2 项目基本配置

创建完项目之后,一般会进行以下几项配置,方便开发

1.项目运行时,浏览器自动打开页面

package.json文件

"scripts": {
    "serve": "vue-cli-service serve --open", //添加--open
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
},

2. eslint校验功能关闭

vue.config.js文件:

module.exports = defineConfig({
    // 关闭eslint语法检查
    lintOnSave: false
})

3.src文件夹简写方法,配置别名@

我的项目里有jsconfig.json文件,没有的话应该自己创建一个就行
在这里插入图片描述
就是用@代替src,比如

import TypeNav from '@/components/TypeNav'

4 . 命名组件报错

Component name “xxxxx“ should always be multi-word

解决方法:
package.json

"rules": {
    "vue/multi-word-component-names": "off"
}

参考的这个博客:https://blog.csdn.net/weixin_71403100/article/details/130223401

补充. vue项目安装依赖的一个问题

在配置好vue脚手架的vue项目里安装依赖,比如安装vue-router
执行命令 npm install vue-router@3

安装好之后,package.json中自动添加了该依赖项,项目的node_modules里也有vue-router文件夹
在这里插入图片描述
但是之前设置的node全局包里没有
在这里插入图片描述
如果运行的命令是npm install -g vue-router@3,全局包里就有了,但是项目的node_modules及package.json里没有。

目前还不知道全局包里没有这个依赖会怎样,但是项目至少还会正常运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2098737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

敏捷需求管理,推动敏捷项目成功——Leangoo领歌敏捷工具

在敏捷项目管理中,需求管理是决定项目成功的关键环节。准确捕捉和高效管理需求,不仅能避免项目偏航,还能确保最终交付的产品与客户预期高度契合。Leangoo领歌敏捷工具,正是为此而生,助力团队轻松实现需求管理的每一步。…

vue中使用原生的video播放flv和mp4格式的视频

安装 npm i flv.js html <video v-if"videoId"controls id"videoElement"preload"metadata"controlslist"nodownload noremoteplayback" ><source :type"video/${videoType}" />您的浏览器不支持HTML5视频播…

Ansible一键安装Harbor服务

环境说明 企业内网环境,使用docker-compose的方式安装Harbor服务,需要先安装docker、docker-compose两个服务,将以二进制的方式安装docker和docker-compose,以适配各种安装环境。 docker版本:20.10.21,建议使用20.10以上的版本,低版本的会出现安装异常;Docker-compose版…

记一次ssh伪终端修改为shell

问题 用户ssh进行连接后&#xff0c;默认为伪终端。 解决办法&#xff0c;可以先拿到终端shell&#xff0c;查看用户是否为/bin/bash&#xff1a; 不是/bin/bash&#xff0c;使用如下命令进行修改&#xff1a; chsh -s /bin/bash rootservice sshd restart

在繁忙工作环境中提升开发效率:JetBrains IntelliJ IDEA 的应用

目录 前言1. IntelliJ IDEA 的核心功能1.1 智能代码补全&#xff1a;提升编码效率的利器1.2 深度代码分析&#xff1a;防患于未然1.3 代码重构&#xff1a;保持代码整洁有序 2. 提升团队协作与项目管理2.1 集成版本控制&#xff1a;高效的团队协作2.2 内置任务管理&#xff1a;…

开店到经营,分贝通帮助连锁经营企业这样省钱

如果说大企业的经营核心是做好主营业务的大生意,那么对于连锁经营企业而言,线下门店的一个个小生意,其实也隐藏着“大学问”。费用支出方面,如何从细节处节流,让资金流呈现更良性循环,是连锁经营行业的重要课题。 1、开店前:选址BD全国跑,筐筐发票财务恼 2、日常经营:费用类目…

Qt:玩转QPainter后转之时钟

前言 简单了解了QPainter之后当然是要找两个例子练练手啦。 正文 先看效果图 在绘制之前我们要先构思好自己要绘制的对象可以分成几部分&#xff0c;比如我要绘制时钟的话&#xff0c;我可以分成&#xff1a;外边框(圆环或者圆)&#xff0c;圆形背景&#xff0c;刻度&…

MySQL 使用C语言链接

mysql的基础&#xff0c;我们之前已经学过&#xff0c;后面我们只关心使用 要使用C语言连接mysql&#xff0c;需要使用mysql官网提供的库&#xff0c;大家可以去官网下载 我们使用C接口库来进行连接 要正确使用&#xff0c;我们需要做一些准备工作&#xff1a; 保证mysql服务有…

【WPF】WPF学习之【二】布局学习

WPF布局学习 常用布局Grid网格布局StackPanel 布局CanvasDockPanel布局WrapPanel布局 常用布局 1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。 2、Grid: 掌握Grid的网格布局技术。 3、Canvas: 了解Canvas的绝对定位布局。 4、DockPanel: 学习DockPanel的停靠…

【加密社】马后炮视角来看以太坊二层战略

阅读正文前先给大家普及下知识&#xff0c;以下文章中提到的 Blobs指的是&#xff1a;"Blob Carriers" 或 "Calldata Blobs" 这是在以太坊网络中用于携带数据的一种方式&#xff0c;尤其是在涉及Rollup&#xff08;如Optimistic Rollup和ZK-Rollup&#xf…

数据结构-复杂度

数据结构&#xff1a;在内存中管理数据&#xff0c;内存速度快&#xff0c;带电存储 数据库&#xff1a;在磁盘中管理数据&#xff0c;磁盘速度慢&#xff0c;不带电存储 时间复杂度 大O的渐进表示法&#xff1a;忽略常数、系数&#xff0c;保留最高次数项 如果只有常数&am…

PMC如何建立有效的监控系统来及时发现生产计划的偏离?

在制造业的复杂生态中&#xff0c;PMC&#xff08;生产与物料控制&#xff09;扮演着至关重要的角色。它不仅是连接销售、生产、采购与库存管理的桥梁&#xff0c;更是确保生产活动高效、有序进行的核心。随着市场需求的快速变化和生产环境的日益复杂&#xff0c;建立一套有效的…

python开发--模板语句

这部分是导航栏部分的代码&#xff0c;由于导航栏在各个页面都需要用&#xff0c;为了提高代码复用率将导航栏部分作为一个模板。 在下面代码图中&#xff0c;红色框部分相当于一个插槽&#xff0c;其他页面&#xff0c;如部门列表、用户列表等将在这个位置展示。 这部分是用户…

docker部署project-exam-system项目(haproxy代理nginx)

1、概述&#xff1a; 即nmt服务&#xff0c;涉及到的服务有&#xff1a;nginx、mysql、tomcat 2、具体配置&#xff1a;(前提&#xff1a;先停掉然后之前运行的容器) 1&#xff09;先创建三个nginx容器 # 端⼝不能映射80 [rootdocker ~]# docker run -itd -v /root/pes/we…

Echarts中国地图省市区县三级联动

NodeV14.20.0安装 # 历史版本Node下载地址 https://nodejs.org/en/download/prebuilt-installer# NodeV14.20.0配置与部署 https://nodejs.org/dist/v14.20.0/node-v14.20.0-x64.msi构建默认Vue3工程目录 npm install -g vue/cli --registryhttps://registry.npm.taobao.org …

剪映剪辑影视视频字幕声音批量自动对齐教程

一款智能软件&#xff0c;用它结合剪映或CapCut 你就可以快速将一个视频翻译为另一种语言&#xff0c;非常适合做TikTok中视频的用户&#xff0c;无论是英语区法语区还是日语区&#xff0c;这款名为谷哥剪映助手的软件都能成倍提升你的剪辑效率。 让我来给大家介绍它的使用方法…

结合Wireshark抓包分析,沉浸式体验HTTP请求的一次完整交互过程

HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是用于传输超文本信息的协议&#xff0c;它是互联网上应用最为广泛的一种网络协议。了解完整的HTTP请求过程有助于我们更深层次的去分析问题&#xff08;尤其是网络安全问题&#xff09;&am…

【动态规划】通过例题 理解 完全背包问题(完全背包、零钱兑换、完全平方数、C++)

文章目录 前言问题描述动态规划解法 算法题1.【模板】完全背包2.零钱兑换3.零钱兑换II4.完全平方数 前言 完全背包问题 是一种经典的动态规划问题&#xff0c;通常用于求解优化问题。在这个问题中&#xff0c;我们有一个背包和一组物品&#xff0c;每种物品有一个特定的重量和…

Java注解基础入门

一、基本概念 1.1 认识注解 Java代码中的特殊标记&#xff0c;用于告诉其它程序该段代码该如何执行&#xff08;Test、Override等&#xff09; 注解的使用范围包括类、方法、构造器、成员变量等等 注解本质上是接口&#xff0c;继承了Annotation接口 使用(...)注解实际上是一个…

WPF——自定义RadioButton

需求 需要做一组单选按钮&#xff0c;只要单选按钮的显示内容与需要匹配的内容一样&#xff0c;则该单选按钮就为选中状态&#xff0c;否则则为不选中状态&#xff1b;且需要将当前选中状态保存&#xff0c;后续再进入此页面时&#xff0c;匹配内容为此次的保存状态。 如下所…