利用vite创建vue3项目的全过程及一个小BUG详解

下面我将详细讲解如何利用 Vite 创建 Vue 3 项目的全过程,并对遇到的一个小 BUG 进行详解。

1. 安装 Vite

首先,我们需要全局安装 Vite:

npm install -g vite

2. 创建项目

创建一个基于 Vue 3 的项目可以使用 Vue CLI 4.x 或者使用 Vite + Vue 3。这里我们使用 Vite + Vue 3 的组合来创建我们的 Vue 3 项目。

进入项目所在的路径,使用以下命令快速创建一个 Vue 3 项目:

npm init vite@latest my-vue3-project --template vue

上面的命令中:

  • my-vue3-project:项目名,你可以根据自己的需要来修改;
  • --template vue:使用 Vue 模板来创建项目。

在创建过程中我们可以根据自己的需要来进行选择,这里我选择了默认的配置。

创建完成后,进入项目:

cd my-vue3-project

3. 启动项目

进入项目后,我们可以使用以下命令来启动项目:

npm run dev

这个命令将会启动一个开发服务器,当你修改了代码后,它能够在你保存代码后自动刷新页面。

4. 项目结构

通过以上步骤创建的项目结构应该是这样的:

my-vue3-project/
├─node_modules/
├─public/
│  ├─favicon.ico
│  └─index.html
├─src/
│  ├─App.vue
│  ├─main.js
│  └─index.css
├─.gitignore
├─package.json
├─README.md
└─vite.config.js
  • node_modules/:包含所有使用到的 npm 模块;
  • public/:存放静态文件和 HTML 入口文件;
  • src/:存放源代码;
  • App.vue:Vue 3 的根组件,由 main.js 引入;
  • main.js:Vue 3 的入口文件,创建了 Vue 3 实例并将 App.vue 挂载到 DOM 上;
  • index.css:样式文件;
  • .gitignore:Git 忽略列表;
  • package.json:npm 包管理文件;
  • README.md:项目说明文件;
  • vite.config.js:Vite 的配置文件。

5. BUG 详解

在使用 Vite 创建 Vue 3 项目时,如果你在项目根目录下创建了一个名为 .env 的文件,并在该文件中设置了一些环境变量,那么这些环境变量将无法在项目中被正确获取到。

这是因为 Vite 在默认情况下不支持 .env 文件,如果我们需要使用 .env 文件中的环境变量,需要进行以下配置:

  1. 在项目根目录下创建名为 .env 的文件;
  2. 在该文件中定义环境变量,比如我们定义一个名为 VITE_APP_TITLE 的环境变量:VITE_APP_TITLE=My Vue 3 App
  3. 在 Vite 的配置文件 vite.config.js 中添加以下配置:
export default {
  define: {
    'process.env': {
      VITE_APP_TITLE: process.env.VITE_APP_TITLE
    }
  }
}

上面代码中,我们使用了 Vite 的配置选项 define,将 .env 文件中定义的变量映射到了 process.env 对象上。

接下来,我们就可以在项目代码中通过 process.env.VITE_APP_TITLE 来获取 .env 文件中定义的环境变量了。

示例说明

示例一 - 修改标题

我们可以在 .env 文件中添加一个 VITE_APP_TITLE 变量,然后在 public/index.html 中使用该变量来定义页面的标题:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>%REPLACE_ME%</title>
    <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <script type="module" src="/src/main.js"></script>
  </body>
</html>

在修改后的 public/index.html 中,我们使用了 %REPLACE_ME% 来代替原来固定的标题,然后在 main.js 中通过 process.env.VITE_APP_TITLE 来获取 .env 文件中定义的变量,然后再将该变量设置为页面的标题:

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

document.title = process.env.VITE_APP_TITLE

示例二 - 使用 API

我们可以在 .env 文件中添加一个 VITE_API_URL 变量,然后在项目中使用该变量来获取 API 的地址。

首先,在 .env 文件中定义一个 VITE_API_URL 变量:

VITE_API_URL=https://my-api.com

然后在 src/api.js 文件中定义一个函数来获取 API 的地址:

export const getApiUrl = () => {
  return process.env.VITE_API_URL
}

在项目中,我们可以使用 getApiUrl 函数来获取 API 的地址:

import { getApiUrl } from './api'

console.log(getApiUrl()) // 输出 https://my-api.com

好了,以上就是利用 Vite 创建 Vue 3 项目的全过程及一个小 BUG 的详细攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用vite创建vue3项目的全过程及一个小BUG详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue实现图片路径转二进制文件流(binary)

    下面是详细的攻略: 如何实现图片路径转换为二进制文件流(binary)? 将图片路径转化为二进制文件流的过程,包括三个步骤:获取图片,读取图片文件二进制,将二进制数据存储起来。下面是具体步骤。 获取图片 获取图片通常需要从 input[type=file] 元素或一个图片 URL。对于 input[type=file] 元素,可通过 onchange 事件获…

    Vue 2023年5月27日
    00
  • vue3.0中setup使用(两种用法)

    下面是Vue 3.0中setup使用的完整攻略。 什么是setup setup是Vue 3.0中新引入的API,是Vue3.0新的组件选项。setup函数是在beforeCreate和created之间执行的,用于组件的初始化状态。它是一个接收props和context两个参数的函数,返回一个渲染函数可用的数据。通过setup函数,我们可以更好的组织代码,实…

    Vue 2023年5月28日
    00
  • vue如何从后台下载.zip压缩包文件

    从后台下载.zip压缩包文件可以用Vue.js通过axios进行异步请求和下载。以下是详细的步骤: 在Vue.js的项目中安装axios: $ npm install axios –save 在需要进行请求和下载的组件中导入axios: import axios from ‘axios’; 在需要进行请求和下载的方法中,使用axios来发送请求。对于后台返…

    Vue 2023年5月28日
    00
  • VUE v-bind 数据绑定的示例详解

    以下是“VUE v-bind 数据绑定的示例详解”的完整攻略: 标题 VUE v-bind 数据绑定的示例详解 简介 v-bind是VUE.js中用于属性绑定的指令,它可以用来动态地绑定一个或多个属性到一个表达式。在本文中,我们将详细演示v-bind的使用方法,并提供两个实例来说明它的用法。 正文 基本用法 首先,我们来介绍v-bind的基本用法。例如,我们…

    Vue 2023年5月28日
    00
  • vue解析指令compile源码层面使用解析

    Vue.js 是一个流行的 JavaScript 框架,它支持使用模板语法编写数据绑定和渲染逻辑,这些模板语法通过指令进行定义和使用。在 Vue.js 中,一个指令通常由两部分组成:指令名称和绑定值。指令名称可以是任意有效的 CSS 类名或 HTML 属性名,绑定值可以是表达式或 JavaScript 对象。当一个指令被解析和渲染时,Vue.js 会将其转换…

    Vue 2023年5月27日
    00
  • 如何用webpack4带你实现一个vue的打包的项目

    下面是如何用webpack4带你实现一个vue的打包的项目的完整攻略。 一、安装和配置webpack 首先安装webpack和webpack-cli依赖: npm install webpack webpack-cli –save-dev 然后在项目根目录下创建webpack.config.js文件,并写入如下配置: module.exports = { …

    Vue 2023年5月28日
    00
  • Vue自定义指令详细

    Vue自定义指令详细攻略 Vue提供了许多内置指令用于操作DOM元素,如v-if、v-show、v-bind等。但是,如果我们想要自定义一些不同于Vue提供的指令来操作DOM元素,该怎么做呢?这时候,Vue的自定义指令就派上用场了。 自定义指令的基本使用 Vue允许开发者自定义指令,只需要在Vue实例中的directives选项中注册即可。 自定义指令需要定…

    Vue 2023年5月27日
    00
  • 解决Vue前后端跨域问题的方式汇总

    解决Vue前后端跨域问题的方式汇总 什么是跨域? 简单来说,跨域就是从一个域名的网页去请求另一个域名的资源,就会产生跨域问题。 例如:当前前端页面的域名是 http://domain-a.com,试图向 http://api.domain-b.com 发送Ajax请求,就会产生跨域问题。 常见跨域问题解决方案 1. 代理 通过后台自建一个代理服务器来转发请求…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部