「Vue3系列」Vue3起步/创建项目

文章目录

  • 一、Vue3 创建项目
  • 二、Vue3 Create详解
    • 命令格式
    • 可选选项
    • 使用示例
    • 注意事项
  • 三、Vue3 项目目录结构
  • 四、Vue3 起步实例
  • 五、相关链接

一、Vue3 创建项目

在 Vue 3 中创建项目,通常使用 Vue CLI(命令行工具)来简化项目的初始化过程。Vue CLI 是一个强大的工具,它可以帮助你快速搭建 Vue.js 项目,并且内置了对 Vue Router、Vuex、CSS 预处理器、PWA 支持、单元测试等的集成。

以下是使用 Vue CLI 创建 Vue 3 项目的步骤:

  1. 安装 Node.js 和 npm/yarn

确保你的计算机上安装了最新版本的 Node.js 和 npm(Node.js 的包管理器)。npm 会随同 Node.js 一起安装。你也可以选择安装 yarn,它是一个流行的替代包管理器。

  1. 安装 Vue CLI

在安装了 Node.js 和 npm/yarn 之后,你需要全局安装 Vue CLI。打开终端或命令提示符,然后运行以下命令之一来安装 Vue CLI:

使用 npm:

npm install -g @vue/cli
npm install -g @vue/cli@next # 如果要安装最新版本的 Vue CLI(包括 Vue 3 支持)

使用 yarn:

yarn global add @vue/cli
yarn global add @vue/cli@next # 如果要安装最新版本的 Vue CLI(包括 Vue 3 支持)

安装完成后,你可以通过运行 vue --version 来验证 Vue CLI 是否正确安装。

  1. 创建 Vue3 项目

使用 Vue CLI,你可以通过以下命令创建一个新的 Vue3 项目。请将 my-vue3-project 替换为你想要的项目名称:

vue create my-vue3-project

这个命令会启动一个交互式的命令行界面,询问你一些问题以定制项目的配置。你可以选择默认配置(Default)来快速创建一个项目,或者手动选择特性(Manually select features)来定制你的项目。在配置选项中,确保选择了 Vue 3 作为项目的版本。

此外,Vue CLI 还提供了一个快捷方式来直接创建 Vue 3 项目,使用 -- --next 标志:

vue create my-vue3-project -- --next

这个命令将直接为你创建一个使用 Vue 3 的项目。

  1. 进入项目目录

创建项目后,你需要进入项目的目录以开始开发。使用以下命令切换到你的项目目录:

cd my-vue3-project
  1. 运行项目

在项目目录中,你可以使用以下命令之一来启动开发服务器:

使用 npm:

npm run serve

使用 yarn:

yarn serve

这将启动一个本地开发服务器,并在浏览器中自动打开一个新的标签页,显示你的 Vue3 应用。默认情况下,应用将在 http://localhost:8080 上运行。

  1. 开发你的应用

现在你可以开始开发你的 Vue3 应用了。在 src 目录下,你会找到主要的项目文件,如 App.vue(应用的根组件)和 main.js(应用的入口文件)。你可以根据需要编辑这些文件和其他文件来构建你的应用。

  1. 构建生产版本

当你的应用开发完成并准备部署到生产环境时,你可以使用以下命令之一来构建项目的生产版本:

使用 npm:

npm run build

使用 yarn:

yarn build

这将创建一个优化过的、用于生产环境的版本在你的项目目录下的 dist 文件夹中。

  1. 部署应用

构建完成后,你可以将 dist 文件夹中的内容部署到你的 Web 服务器或静态文件托管服务上,以便让其他人能够访问你的 Vue3 应用。

二、Vue3 Create详解

vue create 命令是 Vue CLI 中的一个重要命令,用于创建新的 Vue.js 项目。这个命令提供了丰富的配置选项,允许开发者根据项目需求定制项目结构和依赖项。以下是 vue create 命令的详细解释和一些常用的选项:

命令格式

vue create <project-name>

其中 <project-name> 是你想要创建的新项目的名称。

可选选项

  • -p--preset <presetName>:忽略提示符并使用已保存或远程的预设选项。预设是一组预定义的配置选项,可以用来快速创建具有特定功能的项目。
  • -d--default:忽略提示符并使用默认预设选项。这将使用 Vue CLI 的默认配置来创建项目。
  • -i--inlinePreset <json>:忽略提示符并使用内联的 JSON 字符串预设选项。你可以直接提供一个 JSON 字符串来定义项目的配置。
  • -m--packageManager <command>:在安装依赖时使用指定的 npm 客户端。例如,你可以使用 yarn 代替 npm
  • -r--registry <url>:在安装依赖时使用指定的 npm registry。这允许你使用私有 registry 或镜像源。
  • -g--git [message]:强制或跳过 git 初始化,并可选地指定初始化提交信息。
  • -n--no-git:跳过 git 初始化。
  • -f--force:覆写目标目录可能存在的配置。
  • -c--clone:使用 git clone 获取远程预设选项。
  • -x--proxy:使用指定的代理创建项目。
  • -b--bare:创建项目时省略默认组件中的新手指导信息。
  • -h--help:输出使用帮助信息。

使用示例

  1. 使用默认配置创建项目
vue create my-project

这将启动一个交互式的命令行界面,询问你一些问题来定制项目配置。

  1. 使用预设创建项目

如果你有一个预定义的预设文件(例如 my-preset.json),你可以使用 -i 选项来直接应用它:

vue create my-project -i my-preset.json
  1. 跳过 git 初始化

如果你不想在创建项目时初始化 git,可以使用 -n 选项:

vue create my-project -n
  1. 指定 npm 客户端

如果你想使用 yarn 而不是 npm 来安装依赖,可以使用 -m 选项:

vue create my-project -m yarn

注意事项

  • 当你运行 vue create 命令时,它会根据你的选择下载和安装相应的依赖项,并为你创建一个新的 Vue.js 项目目录结构。
  • 在执行 vue create 命令之前,确保你已经安装了最新版本的 Node.js 和 Vue CLI。
  • 根据你的需求和偏好,选择适当的选项来定制你的项目配置。

三、Vue3 项目目录结构

Vue3 项目的目录结构通常包含以下主要部分:

  1. node_modules:这个目录包含了项目运行所依赖的所有 npm 包。这些包是通过运行 npm installyarn install 命令安装的。
  2. public:这个目录包含静态资源,这些资源不会被 webpack 处理,而是直接被复制到最终的构建目录中。常见的文件包括:
  • index.html:项目的入口 HTML 文件,通常包含了应用的根元素和一些初始化的 JavaScript 代码。
  • favicon.ico:网站的图标文件。
  • 其他静态资源,如图片、字体等。
  1. src:这是项目的源代码目录,包含了所有的 Vue 组件、JavaScript 代码、样式文件等。
  • assets:存放静态资源,如图片、字体文件、CSS 文件等。
  • components:存放 Vue 组件文件,这些组件通常是可复用的 UI 元素。
  • views(或 pages):存放页面级别的 Vue 组件,每个组件通常对应一个路由页面。
  • router:存放 Vue Router 的配置文件,定义了路由规则和页面之间的导航。
  • store:如果项目使用 Vuex 进行状态管理,这里会存放 Vuex 的相关文件。
  • App.vue:Vue 应用的根组件,通常包含了整个应用的布局和路由视图。
  • main.js(或 main.ts):项目的入口文件,用于初始化 Vue 应用、导入全局样式和配置等。
  • App.vue:根组件文件,包含了整个应用的布局和路由视图。
  • main.js:项目的入口文件,用于实例化 Vue 应用,并导入所需的插件、组件和样式。
  1. .gitignore:这个文件用于配置哪些文件不应该被 Git 跟踪,即不会被提交到版本控制系统中。
  2. package.json:这是项目的配置文件,包含了项目的元信息、依赖项、脚本命令等。你可以通过运行 npm installyarn install 命令来根据这个文件安装项目依赖。
  3. README.md:这是项目的说明文档,通常包含了项目的介绍、运行命令、贡献指南等信息。
  4. vue.config.js(可选):这是 Vue CLI 的项目配置文件,用于修改默认的 webpack 配置和其他 Vue CLI 的配置。

四、Vue3 起步实例

在 Vue 3 中,起步实例代码通常包括以下几个步骤:

  1. 创建一个 Vue 应用实例。
  2. 定义应用的根组件。
  3. 挂载这个实例到 DOM 中的某个元素上。

下面是一个简单的 Vue 3 起步实例代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue 3 Starter</title><!-- 引入 Vue 3 --><script src="https://unpkg.com/vue@3"></script>
</head>
<body><!-- 定义挂载点 -->
<div id="app"><!-- 使用双花括号插值显示消息 -->{{ message }}<!-- 使用 v-bind 指令绑定属性 --><button v-bind:disabled="isButtonDisabled">Click Me</button><!-- 使用 v-on 指令监听点击事件 --><button v-on:click="toggleButton">Toggle Button</button>
</div><!-- Vue 3 实例代码 -->
<script>const app = Vue.createApp({// 定义数据data() {return {message: 'Hello Vue 3!',isButtonDisabled: false}},// 定义方法methods: {toggleButton() {this.isButtonDisabled = !this.isButtonDisabled;}}});// 挂载实例app.mount('#app');
</script></body>
</html>

在这个例子中,我们做了以下几件事:

  • 在 HTML 文件中引入了 Vue 3 的 CDN 链接。
  • 创建了一个带有 ID app 的 div 元素,作为 Vue 实例的挂载点。
  • <script> 标签中,使用 Vue.createApp 方法创建了一个 Vue 应用实例。
  • 在 Vue 实例中,定义了 data 函数来返回初始数据对象,其中包含了 messageisButtonDisabled 两个属性。
  • methods 对象中定义了一个 toggleButton 方法,用于切换按钮的禁用状态。
  • 使用 app.mount('#app') 将 Vue 实例挂载到 ID 为 app 的 DOM 元素上。

现在,当你在浏览器中打开这个 HTML 文件时,你应该能看到 “Hello Vue 3!” 的消息,以及两个按钮。第一个按钮的禁用状态会根据第二个按钮的点击而切换。

五、相关链接

  1. Vue3官方地址
  2. Vue3中文文档
  3. 「Vue3系列」Vue3简介及安装

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

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

相关文章

Unity 向量计算、欧拉角与四元数转换、输出文本、告警、错误、修改时间、定时器、路径、

using System.Collections; using System.Collections.Generic; using UnityEngine;public class c2 : MonoBehaviour {// 定时器float t1 0;void Start(){// 向量Vector3 v1 new Vector3(0, 0, 2);Vector3 v2 new Vector3(0, 0, 3);// 计算两个向量的夹角Debug.Log(Vector3…

Java 学习和实践笔记(26):组合(component)的含义以及与继承(extends)的关系

组合的两个作用&#xff1a; 1&#xff09;通过将父类对象作为子类的属性 2&#xff09;通过第1点的作用&#xff0c;实现了代码复用。 示例代码&#xff1a; public class TestComponent {public static void main(String[] args) {Student2 s1 new Student2("jason&…

灯塔:HTML笔记

网页由哪些部分组成&#xff1f; *文字 图片 音频 视频 超链接 程序员写的代码是通过浏览器转换成网页的 五大浏览器有哪些&#xff1f; *IE浏览器 *火狐浏览器&#xff08;Firefox&#xff09; *谷歌浏览器&#xff08;Chrome&#xff09; *Safari浏览器 *欧朋浏览器&…

NENU OJ算法2例题||搜索E

NENU OJ算法2例题 合集原文指路 算法2搜索E 1281: E001 数的划分 题目描述 将整数n分成k份&#xff0c;且每份不能为空&#xff0c;任意两种分法不能相同&#xff08;不考虑顺序&#xff09;。 例如&#xff1a;n7&#xff0c;k3&#xff0c;下面三种分法被认为是相同的。…

【数据结构与算法】动态规划法解题20240302

这里写目录标题 一、198. 打家劫舍1、动态规划五部曲 二、213. 打家劫舍 II 一、198. 打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间…

速盾:使用cdn后速度慢是怎么回事?

CDN&#xff08;内容分发网络&#xff09;是一种通过将网站的静态内容分布到全球各地的服务器&#xff0c;从而提供更快速度和更好用户体验的技术。然而&#xff0c;有时候用户会遇到使用CDN后速度变慢的问题&#xff0c;下面将探讨几种可能的原因。 服务器选择错误: CDN服务通…

【python】双十一美妆数据分析可视化 [聚类分析/线性回归/支持向量机](代码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

全量知识系统问题及SmartChat给出的答复 之11 三套工具之6语法解析器之4

Q30. 原Q24.问题的错误纠正 我刚刚检查了 之前的问题&#xff0c;Q24 中有明显的错误。Q24 的提问是&#xff1a; “请设计一个IPP&#xff08; Integrated Partial Parser&#xff09;解析器&#xff0c;能分别基于上述两种文法规则&#xff0c;用于分析有关某领域的一些新闻…

【JavaSE】 P165 ~ P194 抽象方法,抽象类,接口,接口内容,多接口实现和父类继承,多态,向上转型,向下转型

目录 抽象抽象的概念抽象方法和抽象类的格式抽象方法和抽象类的使用抽象方法和抽象类的注意事项● 练习1. 写一个父类图形类&#xff0c;其中有方法&#xff0c;功能计算面积为抽象方法。2. 抽象类继承。判断对错,没错的分析运行结果3. 发红包,群内用户类作为父类&#xff0c;有…

c++相对路径与绝对路径

参考:https://blog.csdn.net/weixin_42175509/article/details/114360938 1、获取当前路径&#xff1a;用getcwd()函数&#xff0c;返回值是一个指向字符串的指针 2、相对路径用正斜杠“/” ./&#xff0c;表示当前路径&#xff1b;…/表示当前路径的上一级路径&#xff1b;…

NX二次开发:ListingWindow窗口的应用

一、概述 在NX二次开发的学习中&#xff0c;浏览博客时发现看到[社恐猫]和[王牌飞行员_里海]这两篇博客中写道有关信息窗口内容的打印和将窗口内容保存为txt,个人人为在二次开发项目很有必要&#xff0c;因此做以下记录。 ListingWindow信息窗口发送信息四种位置类型 设置Listi…

鸿蒙系统的开发与学习:一、安装工具与处理报错

前言&#xff1a; 鸿蒙系统的学习与记录。 1 、使用开发工具&#xff1a;deveco-studio 1&#xff09;这个是工具的安装 2&#xff09;这个是工具包&#xff0c;里面包含了 obpm&#xff0c;如果你装不上这个&#xff0c;可以使用工具包内部的 2、安装 官方安装教程&#xff…

前端学习第三天-css基础

1. CSS简介 从HTML被发明开始&#xff0c;样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长&#xff0c;为了满足页面设计者的要求&#xff0c;HTML添加了很多显示功能。但是随着这些功能…

面经(五)南京 软通动力 一面

注&#xff1a;已经有了接近一年的工作经验 总体评价 不完全是技术面&#xff0c;面试经过还行&#xff0c;但可能是期望岗位和对方需求不太一致&#xff0c;感觉不太好过 面试经过 HR找你&#xff0c;发简历入库&#xff0c;然后商量面试时间&#xff0c;发腾讯会议链接腾…

USB4之ASM2464PD与ASM2464PDX兼容与运用

首先在NVMe上运用: 一&#xff1a;ASM2464PD&#xff08;现在可以做带PD的方案&#xff09; 二&#xff1a;ASM2464PDX 1&#xff1a; Application Guide- CFX card reader NVMe SSD 2&#xff1a;ASM2464PDX Application Guide- NVMe SSD x4 with data clone 三&#xff…

C习题003:球筐投球(一排)

题目 输入样例 在这里给出一组输入。例如&#xff1a; 5 3 7 5 7 7 3 1 5 3 1 5 2 4 4 4输出样例 在这里给出相应的输出。例如&#xff1a; 12 10 12 16 8代码长度限制 16 KB 时间限制400 ms 内存限制 64 MB 栈限制 8192 KB 代码 #include<stdio.h> int main() {int…

计算机2级考试26

一、选择题&#xff08;本题共20道小题&#xff0c;共40分。&#xff09; 1. 表示关系x≤y≤z的c语言表达式为 A) (X<Y)&&(Y<Z) B) (X<Y)AND(Y<Z) C) (X<Y<Z) D) (X<Y)&(Y<Z) 2. 以下程序的输出结果是 main( ) { int a12&#xff…

新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技TDH一直致力于给用户带来高性能、高可靠的一站式大数据基础平台&#xff0c;满足对海量数据的存储和复杂业务的处理需求。 同时在易用性方面持续深耕&#xff0c;降低用户开发和运维成本&#xff0c;让数据处理平民化&#xff0c;助力用户以更便捷、高效的方式去挖掘数…

[多媒体服务器] 通过nginx搭建 rtmp/hls/dash 媒体服务器,支持点播和直播

参考&#xff1a; How To Set Up a Video Streaming Server using Nginx-RTMP on Ubuntu 20.04 | DigitalOcean 用到的工具&#xff1a; nginx&#xff0c;nginx rtmp插件&#xff0c;OBS&#xff0c;ffmpeg&#xff0c;ubuntu&#xff0c;youtube-dl Step1&#xff1a;安装和…