使用 Vue CLI 脚手架生成 Vue 项目

news2024/11/23 15:51:24

最近我参与了一个前端Vue2的项目。尽管之前也有过参与Vue2项目的经验,但对一些前端Web技术并不十分熟悉。这次在项目中遇到了很多问题,所以我决定借此机会深入学习Vue相关的技术栈。然而,直接开始深入钻研这些技术可能会显得枯燥,容易半途而废。碰巧最近我想做一个图床项目,于是决定在学习的过程中结合实际操作和总结,提升自己的前端水平。本次学习的主要目标是提高我的CSS、ES6标准以及Vue相关技术栈的能力。在学习一门新技术时,通常我们会从写一个简单的“Hello World”程序开始。今天,我将介绍Vue及如何使用Vue CLI脚手架来构建一个Vue项目。如果在文章中有写的不对的地方,希望大家给与指正。

_20240615223147.jpg

Vue.js 是什么?(来源于官网)

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

github地址:https://github.com/vuejs/vue

中文文档地址:https://v2.cn.vuejs.org

Vue CLI介绍(来源于官网)

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:

  • 通过 @vue/cli 实现的交互式的项目脚手架。
  • 通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发。
  • 一个运行时依赖 (@vue/cli-service),该依赖:
    • 可升级;
    • 基于 webpack 构建,并带有合理的默认配置;
    • 可以通过项目内的配置文件进行配置;
    • 可以通过插件进行扩展。
  • 一个丰富的官方插件集合,集成了前端生态中最好的工具。
  • 一套完全图形化的创建和管理 Vue.js 项目的用户界面。
    Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需 eject。

中文文档地址:https://cli.vuejs.org/zh/

使用vue-cli创建项目

安装node.js

首先确保你已经安装过node.js,若未安装,则自行安装,我们此处不做介绍。我们node使用的版本是v16.20.2,使用以下命令查看node版本:

node -v 

_20240615211834.jpg

安装vue-cli

如果你还位安装vue-cli,使用以下命令安装:

npm install -g @vue/cli

使用以下命令查看版本

vue -V

_20240615212328.jpg

如果Vue CLI < 3, 则可以卸载以前旧版本,安装新版本


npm uninstall -g vue-cli

npm install -g @vue/cli

创建项目

使用vue create 命令创建项目:

vue create ihs-web

_20240615214034.jpg

我此处选择的是自定义配置的模式 Manually select features

_20240615215225.jpg

配置说明:

  • Babel: 使用 Babel 来转译 JavaScript 代码,可以将 ES6 代码转为 ES5 代码,以便在不同浏览器环境中运行。
  • TypeScript: 使用 TypeScript 编写代码。
  • Progressive Web App (PWA) Support: 支持渐进式网络应用(Progressive Web App)特性。
  • Router: 集成 Vue Router,用于实现前端路由功能。
  • Vuex: 集成 Vuex,用于状态管理。
  • CSS Pre-processors: 支持使用 CSS 预处理器。
  • Linter / Formatter: 集成代码规范检查工具和代码格式化工具。
  • Unit Testing: 集成单元测试框架。
  • E2E Testing: 集成端到端(End-to-End)测试框架。

如果忘记选择了某个配置,也没关系,后续如果用到了也可以自行安装。

我此处选择的是vue2

_20240615215323.jpg

然后一路回车,直到项目创建完成。创建完成之后进入到创建的项目的目录下,使用以下命令启动项目:

 npm run serve

_20240615215908.jpg

浏览器访问:http://localhost:8080/ ,可以看到我们的项目已经创建启动成功可以访问了

_20240615215954.jpg

到此我们就创建完成一个基于vue-cli的vue2的脚手架项目。

项目结构及说明

├ ── node_module/        # 该目录包含了项目所需的所有依赖模块,包括 Vue 和其他第三方库。
├ ── public/             # 该目录包含了静态资源文件,如 HTML 模板、图标和其他公共文件。
│   ├── favicon.ico      # 网站的图标文件。   
│   ├── index.html       # 应用的主 HTML 文件,Vue 组件将会被注入到该文件中。
├ ── src/                # 该目录是项目的主要源代码目录
│   ├── assets/          # 存放应用所需的静态资源文件,如图片、样式表等。
│   ├── components/      # 存放 Vue 组件文件,用于构建应用的各种可复用组件。
│   ├── router/          # 存放 Vue Router 相关的配置文件,用于管理前端路由。
│   ├── store/           # 存放 Vuex 相关的配置文件,用于管理应用的状态。
│   ├── views/           # 存放页面级别的 Vue 组件,通常与路由对应。
│   ├── App.vue          # 应用的根组件,包含应用的整体布局和其他子组件。
│   ├── main.js          # 应用的入口文件,初始化 Vue 实例并引入其他模块和组件。
├──  .browserslistrc     # Browserslist 配置文件,用于指定项目的目标浏览器和 Node.js 版本。
├──  .eslintrc.js        # ESLint 配置文件,用于配置代码规范检查工具的规则和选项。
├──  .gitignore          # Git 版本控制忽略文件列表,指定哪些文件不应被 Git 跟踪和提交
├──  jsconfig.json       # JavaScript 项目的配置文件,用于指定项目的根路径和其他选项。
├──  package.json        # 项目的配置文件,包含了项目的元数据和依赖信息。
├──  package-lockjson    # 锁定安装时的依赖版本,确保不同环境下的一致性。
├──  README.md           # 项目的说明文档,包含了项目的介绍、使用方法和其他相关信息。  
└──vue.configjjs         # Vue CLI 的配置文件,用于自定义构建配置和其他选项。

vue-cli < 3 的版本使用脚手架生成项目

如果Vue CLI < 3, 则也可以使用以下命令生成脚手架工程

vue init webpack ihs--web

总结

通过 Vue CLI 创建 Vue 项目可以极大地提高开发效率。它不仅提供了一整套标准化的项目结构,还集成了常用的开发工具和配置,使得开发者可以专注于业务逻辑的实现,而不需要花费大量时间在项目配置上。希望这篇文章能帮助你快速上手 Vue.js,并利用 Vue CLI 开始你的项目开发之旅。如果在文章中有写的不对的地方,希望大家给与指正。

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

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

相关文章

随笔-来了,安了

依照领导定的规矩&#xff0c;周五又去了分公司&#xff0c;赋能一线去了。到了地方就是开会->现场解决问题->干饭->开会过需求、提供解决方案&#xff0c;充实得厉害。强度也不小&#xff0c;中午干的一大碗饭&#xff0c;到五点就饿了。 六点带着分公司催着上线的需…

jupyter notebook中使用不同的anaconda环境及常用conda命令

conda命令 在jupyter notebook中使用不同的anaconda环境其他常用conda命令 在jupyter notebook中使用不同的anaconda环境 创建环境 myenvname 需替换为自己的环境名称 conda create --name myenvname python3.7激活环境 conda activate myenvname 在该环境中安装Jupyter N…

MongoDB~事务了解;可调一致性模型功能与因果一致性模型功能分析

背景 MongoDB 从 3.0版本引入 WiredTiger 存储引擎之后开始支持事务&#xff0c;MongoDB 3.6之前的版本只能支持单文档的事务&#xff0c;从 MongoDB 4.0版本开始支持复制集部署模式下的事务&#xff0c;从 MongoDB 4.2版本开始支持分片集群中的事务。 根据官方文档介绍&…

C++11 move左值转化为右值

单纯的左值只能用左值引用和右值只能用右值引用有些局限&#xff0c;在一些情况下&#xff0c;我们也需要对左值去调用右值引用&#xff0c;从而实现将左值里的内容转移到右值中 标准定义&#xff1a; 功能就是将一个左值强制转化为右值&#xff0c;然后实现移动语义 注意&…

IP地址、子网掩码、网段、网关

前面相同就是在同一个网段 如果子网掩码和网络号相与的结果是一样的&#xff0c;那么他们就在同一个子网 IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?_掩码248可以用几个ip-CSDN博客

CTFshow之RCE代码命令远程执行第29关到第40关详细讲解。一定教会

不在沉默中崛起&#xff0c;便在沉默中变态 --莫迪大仙 引言&#xff1a;最近学习没有头绪&#xff0c;想着把ctf随便刷一刷&#xff0c;过过瘾&#xff0c;试着看能不能每条10到15道题目&#xff0c;并且写下相关的学习记录&#xff0c;持续十天&#xff01;今天是RCE板块29关…

解决 kali 中使用 vulhub 拉取不到镜像问题

由于默认情况下&#xff0c;访问的镜像是国外的&#xff0c;而从 2023 年开始&#xff0c;docker 的镜像网站就一直访问不了&#xff0c;所以我们可以把镜像地址改成国内的阿里云镜像地址。 1、在 cd /etc/docker/目录下创建或修改daemon.json文件 sudo touch daemon.json 2、在…

统计信号处理基础 习题解答10-13

题目&#xff1a; 利用矩阵求逆引理&#xff0c;证明&#xff08;10.32&#xff09;和&#xff08;10.33&#xff09;。提示&#xff1a;首先证明&#xff08;10.33&#xff09;然后利用它来证明&#xff08;10.32&#xff09; 解答&#xff1a; 由&#xff08;10.28&#xf…

【TypeScript】类型兼容(协变、逆变和双向协变)

跟着小满zs 学习 ts&#xff0c;原文&#xff1a;学习TypeScript进阶类型兼容_typescript进阶阶段类型兼容 小满-CSDN博客 类型兼容&#xff0c;就是用于确定一个类型是否能赋值给其他的类型。如果A要兼容B 那么A至少具有B相同的属性。 // 主类型 interface A {name: string,a…

LVS-DR模式详解:提升网站性能的最佳解决方案

LVS-DR模式原理 用户请求到达Director Server&#xff1a; 用户请求到达Director Server&#xff08;负载均衡服务器&#xff09;&#xff0c;数据包首先到达内核空间的PREROUTING链。数据包源IP&#xff1a;CIP&#xff0c;目标IP&#xff1a;VIP&#xff0c;源MAC&#xff1a…

JProfiler 性能分析案列——基于 dump.hprof 堆内存快照文件分析排查内存溢出

在 windows 环境下实现。 一、配置 JVM 参数 配置两个 JVM 参数&#xff1a; -XX:HeapDumpOnOutOfMemoryError&#xff0c;配置这个参数&#xff0c;会在发生内存溢出时 dump 生成内存快照文件&#xff08;xxx.hprof&#xff09;-XX:HeapDumpPathF:\logs&#xff0c;指定生成…

LVS负载均衡:理解IPVS和IPVSADM的内部工作原理

LVS 负载均衡工作模式 LVS&#xff08;Linux Virtual Server&#xff09; 共有三种工作模式&#xff1a;DR、Tunnel、NAT。 DR&#xff08;Direct Routing&#xff09;&#xff1a; 技术原理&#xff1a;DR模式下&#xff0c;LVS调度器接收到请求后&#xff0c;直接通过MAC地址…

个人网站制作 Part 26 添加在线日历功能 | Web开发项目添加页面缓存

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加在线日历功能&#x1f528;使用日历服务&#x1f527;步骤 1: 选择日历服务&#x1f527;步骤 2: 安装FullCalendar&#x1f527;步骤 3: 创建FullCalendar组件&…

基于微信小程序的童书购买系统的设计与实现

基于微信小程序的童书购买系统的设计与实现 摘 要 《“十三五”规划》第一次把“保障妇女、未成年人、残疾人的基本权利”作为重要内容&#xff0c;充分体现了党和国家对广大人民群众的关心&#xff0c;为广大人民群众营造了良好的学习氛围&#xff0c;并出台多项文件及政策&…

「动态规划」如何求最大子数组和?如何求环形子数组的最大和?

53. 最大子数组和https://leetcode.cn/problems/maximum-subarray/description/ 给你一个整数数组nums&#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。子数组是数组中的一个连续部分。 输入&#…

非线性规划解决工资分配问题

来源&#xff1a;河北工业职业技术大学 安彤彤 彭金杉 张家硕 题目 薪资发放问题 一般公司给职员发放薪金&#xff0c;通常按每月等额发放。某公司即将改进薪金发放方案&#xff0c;允许任职5年以上的职员向公司财务部门申请工资每月可变额度发放&#xff0c;每月工资发放额…

笔记本开机原理

从按下开机键开始&#xff0c;机器是如何开到OS的呢&#xff1f;今天这篇文章和大家极少EC-BIOS-OS的整个开机流程。首先大家要对笔记本的基本架构有所了解&#xff0c;基本架构如下图所示&#xff08;主要组成部分为大写黑体内容&#xff09;。 一、按下PowerButton按钮&#…

css入门宝典

3.1.4 通配符选择器 语法 : *{} 作用 : 让页面中所有的标签执行该样式,通常用来清除间距 例子 : *{ margin: 0; //外间距 padding: 0; //内间距 } 一 CSS基本语法 1基础知识 1.1概述 Css (层叠样式表)是种格式化网页的标准方式&#xff0c; 用于控制设置网页的样式&#xff…

AOP面向切面(方法)编程

AOP面向切面(方法)编程 快速入门&#xff1a;以下示例是计算DeptServiceImpl每一个方法执行的时间 package com.example.aop;import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspec…

springboot集成shardingsphere

导入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spr…