vue3和vite

2023-11-05

1、安装 vue-cli 3

yarn add vue-cli@next

2、安装vite

vue add vite

3、安装成功后package.json中会添加

"scripts": {
        "vite": "node ./bin/vite"
    }
"devDependencies": {
    "vue-cli-plugin-vite": "~1.5.0"
  }
  把scripts里的serve 和 build 改成vite
  "scripts": {
    "serve": "vite",
    "build": "vite build",
    "lint": "vue-cli-service lint",
    "vite": "node ./bin/vite"
  },

4、通过@vitejs/plugin-vue插件来支持Vue

yarn add @vitejs/plugin-vue

5、安装路由

cnpm install --save vue-router@next

6、在入口文件里初始化vue实例,并引入所需要的插件

找到main.js文件,引入路由插件

import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index'
import axios from 'axios'

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

7、在index.html中载入main.js

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title></title>
    <style>
    </style>
  </head>
  <body>
    <div id="app">
      <h1>正在加载中......</h1>
    </div>
    <script type="module" src="/src/main.js"></script>
  </body>
</html>

8、App.vue

找到src底下的App.vue文件,此文件是项目的主组件,所有页面都是在App.vue下进行切换的。在App.vue中添加 ,用来承载路由组件

<template>
  <div id="app">
    <router-view/>  
  </div>
</template>

<script>
export default {
  name: 'App',
  components: {
  }
}
</script>

<style>
</style>

9、路由配置

在src底下新建文件夹和文件router/index.js,index.js里简单写下路由:

import {createRouter,createWebHistory} from 'vue-router'

const router = createRouter({
    history:createWebHistory(),
    routes:[
        {
            path: '/test2',
            component: () => import("../components/test2.vue")
        },
        {
            path: '/',
            name:'home',
            component: () => import("@/components/HelloWorld.vue")
        },
    ]
})

export default router

10、vite.config.js

在项目最外层新建vite.config.js文件,简单的配置:

import { defineConfig } from "vite";
import { resolve } from "path";
import vue from '@vitejs/plugin-vue';
function pathResolve(dir) {
  return resolve(__dirname, ".", dir);
}

export default defineConfig({
    base: "",
    plugins:[vue()],
    // 配置文件别名
    resolve: {
        alias: {
          "@": pathResolve('src'),
        }
    },
    // 打包配置
    build: {
        target: 'modules',
        outDir: 'dist', //指定输出路径
        assetsDir: 'static', // 指定生成静态资源的存放路径
    },
    // 本地运行配置,及反向代理配置
    server: {
        cors: true, // 默认启用并允许任何源
        open: true, // 在服务器启动时自动在浏览器中打开应用程序
        proxy: {
            '/api': {
                target: 'http://192.168.0.2:8080', 
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/api/, '')
          }
        }
    }
})

11、启动项目

启动:yarn serve、npm run serve
打包:yarn build、npm run build
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3和vite 的相关文章

  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • 无法在 JavaScript for 循环中读取 null 的属性“长度”

    我正在尝试制作一个像 Stack Overflow 那样的 Markdown 编辑器 如果我实际上没有在文本区域中键入星号和包含短语的 http 我会收到标题中列出的此错误 如果我只输入包含星号的短语 则错误指的是这一行 if linkif
  • 定义 js-xlsx 单元格范围

    我正在尝试使用 js xlsx 读取 Excel 值 我可以使用以下代码从工作簿工作表中获取单元格值 if typeof require undefined XLSX require xlsx var workbook XLSX readF
  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • 限制可选 DOM 复选框

    我试图限制用户可以选择的复选框数量 这些复选框是为数组中的每个项目生成的 DOM 输入对象 我目前对此没有运气 因此非常感谢任何帮助 谢谢 在这里小提琴 http jsfiddle net vVxM2 222 http jsfiddle n
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 如何以编程方式退出或关闭 Javascript UWP 应用程序? (Windows 10)

    我制作了一个游戏 它需要自己的退出按钮 我无法使用CoreApplication Exit https msdn microsoft com en us library windows apps windows applicationmod
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • 将 RequireJS 与遗留代码结合使用

    我正在处理一个非常大的项目 该项目使用 包含带有脚本标记的 javascript 文件的旧版 JSP 页面 使用其他 javascript 模块而不使用 RequireJS 的骨干模型和视图 现在 我们希望开始将 RequireJS 与 j

随机推荐

  • TiDB介绍

    目录 TiDB 简介 一 四大核心应用场景 二 TiDB 整体架构 三 TiDB 数据库的存储 Key Value Pairs 键值对 本地存储 RocksDB Raft 协议 Region MVCC 分布式 ACID 事务 参考 TiDB
  • 002-数据结构之算法的时间复杂度和空间复杂度

    一 概述 对于同一个问题来说 可以有多种解决问题的算法 尽管算法不是唯一的 但是对于问题本身来说相对好的算法还是存在的 这里可能有人会问区分好坏的标准是什么 这个要从 时效 和 存储 两方面来看 好的算法应该具备时效高和存储低的特点 这里的
  • 美团二面:如果每天有百亿流量,你如何保证数据一致性?

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 前情提示 什么是数据一致性 一个数据计算链路的梳理 数据计算链路的bug 电商库存数据的不一致问题 大型系统的数据不一致排查有多困难 一 前情提示 这篇文章 咱
  • 顺序查找算法C语言实现

    顺序查找算法 实现思想 静态查找表用顺序存储结构表示时 顺序查找的查找过程为 从表中的最后一个数据元素开始 逐个同记录的关键字做比较 如果匹配成功 则查找成功 反之 如果直到表中第一个关键字查找完也没有成功匹配 则查找失败 应用场景 顺序查
  • SpringBoot-基础-10-自动配置类常用注解

    SpringBoot 基础 10 自动配置类常用注解 一 自动配置类 XXXAutoConfiguration XxxxAutoConfiguration类的含义是 自动配置类 目的是给容器中添加组件 从上示例中 我们可以了解到自动配置类常
  • HTML标题

    目录 HTML 标题 实例 标题很重要 HTML 水平线 实例 HTML 注释以及在PyCharm中快速添加注释 实例 HTML 提示 如何查看源代码 来自本页的实例 HTML 标签参考手册 一个完整的实例 在 HTML 文档中 标题很重要
  • 筛选法与试除法 判断素数

    素数的求解方法 第一种 试除法 第二种 筛选法 试除法 顾名思义 求一个数X是不是素数 就试用小于x大于1区间的自然数 只要有一个能整除 那么x就不是素数 否则就是 以输出100 200之间的素数为例 include
  • 深入理解SD卡基础原理以及内部结构的总结 (转)

    1 简介 SD卡 Secure Digital Memory Card 是一种为满足安全性 容量 性能和使用环境等各方面的需求而设计的一种新型存储器件 SD卡允许在两种模式下工作 即SD模式和SPI模式 本 系统采用SPI模式 本小节仅简要
  • buuctf - web - [极客大挑战 2019]Havefun

    入眼一看 是一只小猫 二话不说 直接F12 根据提示 修改 当前页面 URL 尝试传入参数 直接得flag
  • LWIP-TCP心跳机制

    LWIP TCP心跳机制 简介 在长连接下 可能很长一段时间都没有数据往来 理论上说 这个连接是一直保持连接的 但是实际情况中 如果中间节点出现什么故障是难以知道的 更致命的是 有的节点 防火墙 会自动把一定时间之内没有数据交互的连接给断掉
  • 什么是对网站的base64攻击?

    根据网络安全公司Imperva的一份报告 可以通过Base64编码进行的SQL注入攻击 是最常见的网络应用程序攻击类型之一 占所有攻击的20 这表明 Base64攻击是对网站和网络应用程序的一个重大威胁 Base64是一种常见的编码技术 用
  • 磁盘挂载问题:Fdisk最大只能创建2T分区的盘,超过2T使用parted

    1 下面使用parted工具进行分区的创建 parted dev sdb print 查看分区的使用情况 mklabel gpt 将MBR分区形式转换为GPT分区形式 mkpart promary ext4 划分一个采用ext4文件系统的主
  • SQL SUM() 函数

    SUM 函数返回数值列的总数 SQL SUM 语法 SELECT SUM column name FROM table name WHERE condition column name 是要计算总和的列名 table name 是包含要计算
  • 【学习笔记】感知机模型

    感知机 Perceptron 概述 1957年被提出 是一种有单层计算单元的神经网络模型 在结构上与M P模型相似 提出初衷是解决数据的分类问题 感知机是神经网络和支持向量机的基础 感知机原理 感知机本身是一种能进行二分类的线性模型 只要被
  • mysql为什么使用b+树

    MySQL 使用 B 树有以下几个原因 查询效率高 B 树的查询时间复杂度是 log n 级别的 相比链表和二叉树的 O n 性能要高得多 支持范围查询 B 树能够支持范围查询 这在 MySQL 中经常用于 WHERE 子句中的 BETWE
  • HC-05蓝牙模块使用记录

    前言 后面可能需要用到蓝牙远程控制 所以提前了解了一下 主要是用买来的蓝牙模块HC 05 主要包括一个蓝牙芯片CSR BC417 该公司是剑桥的一个公司 现已被高通收购 和一个FLASH芯片 调试一下两个HC 05之间基本的通讯以及与手机蓝
  • 关于TypeScript的引用类型

    基本数据类型 引用数据类型 赋值引用 public copyCite let obj name 1 let copyObj obj obj name 2 console log copyObj name 2 由于对象之间的赋值是复制了地址
  • 位运算的应用

    前天几天研究了下JDK的Collection接口 本来准备接着研究Map接口 可是一查看HashMap类源码傻眼咯 到处是位运算实现 所以我觉得还是有必要先补补位运算知识 不然代码看起来有点费力 今天系统研究了下 现记录如下 首先要明白一个
  • elementUI的el-table表格不生效问题

    我之前下载的elementUI依赖是用的镜像cnpm 删掉原来的依赖重新下npm的依赖npm i element ui S 重启前台服务就可以了
  • vue3和vite

    1 安装 vue cli 3 yarn add vue cli next 2 安装vite vue add vite 3 安装成功后package json中会添加 scripts vite node bin vite devDepende