搭建并部署Vue3+TypeScript+Vite+ElementPlus项目

2023-11-09

前言

搭建并部署Vue3+TypeScript+Vite+ElementPlus项目,重点如下:
1、使用yarn命令
2、从零搭建Vue3项目
3、打包带项目名的VUE项目
4、集成ElementPlus并打包成功
4、Nginx部署VUE项目并能正常访问


一、搭建Vue3项目

1、安装yarn命令

1、安装yarn

npm install -g yarn
#更换淘宝镜像
yarn config set registry https://registry.npm.taobao.org
#移除原代理
yarn config delete proxy
npm config rm proxy
npm config rm https-proxy
#安装cnpm镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
#使用代理registry
npm config set registry https://registry.npm.taobao.org

2、创建VUE项目

进入一个空目录,例如:D:\vue,项目名:zc_portal

yarn create @vitejs/app zc_portal
选择vue
选择vue-ts
cd zc_portal
yarn

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、安装VUE依赖

yarn install
在这里插入图片描述
在这里插入图片描述

4、启动VUE项目

yarn dev
在这里插入图片描述

5、访问VUE项目

在这里插入图片描述

6、打包VUE项目(带项目名)

打包前修改vite.config.ts文件添加项目名,如下:
在这里插入图片描述
yarn build
在这里插入图片描述
打包成功后会生成一个dist目录,里面包含打包文件,如下:
在这里插入图片描述

7、部署VUE项目

(1)使用nginx部署VUE项目
Window安装nginx过程略,nginx安装目录:D:\software\nginx
(2)将VUE打包后的文件复制到指定目录。
例如D:\software\run\portal\zc_portal
(3)配置nginx.conf文件
进入D:\software\nginx\conf目录,打开nginx.conf文件,内容如下:

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        # 端口
        listen       8001;
        # 服务器名字
        server_name  localhost;
        # 前端
        location / {
            root D:/software/run/portal;
            index  index.html;
            try_files  $uri $uri/ /index.html;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

注:
1、root值为D:/software/run/portal代表nginx部署文件的根目录,zc_portal为项目目录,不能在这里配置。
2、斜杠为/
3、端口为8001,可以按实际情况修改。

(4)启动nginx
双击D:\software\nginx\nginx.exe
一闪而过,在任务管理器中可以看到nginx进程
在这里插入图片描述

(5)访问VUE项目
http://localhost:8001/zc_portal/
在这里插入图片描述

二、使用Visual Studio Code管理vue项目

1、引入VUE项目

在这里插入图片描述

2、解决vscode中不能使用yarn命令

首先,进入C:\Windows\System32\WindowsPowerShell\v1.0目录,找到powershell.exe文件。
右键该文件,以管理员权限执行。
在这里插入图片描述
然后,执行set-ExecutionPolicy RemoteSigned命令,并输入y选项在这里插入图片描述
最后,重启Visual Studio Code再执行yarn dev就不报错了。

三、集成ElementPlus

1、安装Element Plus

yarn add element-plus

2、引入Element Plus

在main.ts文件添加如下内容:

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

const app = createApp(App)

// 引入element-plus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
app.use(ElementPlus)

app.mount('#app')

3、使用Element Plus

在HelloWorld.vue文件中添加按钮,代码如下:

 <p>
    <el-button type="success">Element Plus按钮</el-button>
  </p>

本地启动访问效果如下:
在这里插入图片描述

4、打包Element Plus

(1)在tsconfig.json文件中添加"skipLibCheck": true,代码如下:

   // vue3 + typescript + elementPlus生产包打包报错
    "skipLibCheck": true

截图如下:
在这里插入图片描述
(2)在vite.config.ts文件中压缩文件,代码如下:

	// 打包
	build: {
    outDir: "dist", // 指定打包输出路径
    assetsDir: "assets", // 指定静态资源存放路径
    minify: 'terser', // 混淆器,terser构建后文件体积更小
    target: "modules", // 指定es版本,浏览器的兼容性
    sourcemap: false, // 是否构建source map 文件
    cssCodeSplit: true, // css代码拆分,禁用则所有样式保存在一个css里面
    chunkSizeWarningLimit: 1500, // 文件大小限制
    terserOptions: {
      compress: {
        drop_console: true, // 生产环境移除console
        drop_debugger: true // 生产环境移除debugger
      }
    },
    rollupOptions: {
      output: {
        manualChunks(id) {
          // 解决【Vue3】vite打包报错:块的大小超过限制,Some chunks are larger than 500kb after minification
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString();
          }
        },
        chunkFileNames: (chunkInfo) => {
          const facadeModuleId = chunkInfo.facadeModuleId ? chunkInfo.facadeModuleId.split('/'): [];
          const fileName = facadeModuleId[facadeModuleId.length - 2] || '[name]';
          return `js/${fileName}/[name].[hash].js`;
        }
      }
    }
  }

截图如下:
在这里插入图片描述
(3)打包VUE项目
yarn build
在这里插入图片描述
打包成功后多了一个js目录
在这里插入图片描述
在这里插入图片描述
将打包后的文件复制到nginx指定目录
D:\software\run\portal\zc_portal

(4)访问Element Plus
在这里插入图片描述

总结

至此,Vue3+TypeScript+Vite+ElementPlus项目搭建和部署完成。

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

搭建并部署Vue3+TypeScript+Vite+ElementPlus项目 的相关文章

  • CV Code

    点击我爱计算机视觉标星 更快获取CVML新技术 计算机视觉技术发展迅速 很多时候 可悲的不是我们没有努力 而是没有跟上时代的步伐 努力coding终于出来结果了 却发现早就有人开源了 效果还比自己写的好 CV君汇总了最近过去的一周新出的开源
  • 【Matlab】将Matlab里的几个变量一个存成csv文件

    注意 几个变量类型可以不同 但是长度必须相同 举例说明 1 比如说在workspace里已经有两个变量 a和b如图 每个变量为1列 想把这两个变量存成一个csv文件 2 先给这两个变量名起个名字 分别为A B 存入 datacolumns

随机推荐

  • 数据属性类型

    数据集由数据对象组成 一个数据对象代表一个实体 数据对象又称样本 实例 数据点或对象 属性 attribute 是一个数据字段 表示数据对象的一个特征 属性向量 或特征向量 是用来描述一个给定对象的一组属性 属性有不同类型 标称属性 nom
  • python面试题

    文章目录 Python面试基础题小汇总 1 Python是如何进行内存管理的 2 什么是lambda函数 它有什么好处 3 Python里面如何实现tuple和list的转换 4 请写出一段Python代码实现删除一个list里面的重复元素
  • 常用的运算放大器电路

    在线仿真网站 http scratch trtos com circuitjs html 一 反向比例放大电路 二 同向比例放大电路 三 电压跟随器 四 反向求和运算电路 五 同向求和运算电路 六 加减法运算放大器 七 差分放大器 八 积分
  • 关于自制CMSIS_DAP离线下载器下载算法的代码说明:“0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA“

    关于自制CMSIS DAP离线下载器下载算法的代码说明 0xE00ABE00 0x062D780D 0x24084068 0xD3000040 0x1E644058 0x1C49D1FA 在自制CMSIS DAP离线下载器的时候 利用FLM
  • Mysql篇-第2章,什么是脏读、幻读、不可重复读?如何处理?

    一 Mysql进行事务并发控制时经常遇到的问题 脏读 在事务进行中 读到了其他事务未提交的数据 举个例子 有一个table表 如果执行顺序如下 这种情况下左边查询的结果会是101 正是因为读取到了另一个事务未提交的数据 幻读 在一个事务中
  • selenium 获取cookie 并使用

    selenium 获取cookie 参数设置 以获取阿里云cookie范例 from selenium import webdriver import json url https account aliyun com login logi
  • 使用Python的方式理解Golang的结构体struct

    Go源码 package GoTools import fmt 定义结构体存储密码 type Config struct password string func InitConfig password string Config c ne
  • Vue用户进行页面切换(路由跳转)时,动态改变路由的动画(transition效果)

    当我们在使用Vue Router时 为了用户有更好的视觉效果及体验 我们通常需要实现基于路由的动态过渡效果 github https github com Rise Devin FullStack Product Transport Use
  • retinaface代码讲解_「干货」RetinaFace最强开源人脸识别算法

    看来最早商业化的人脸检测为目标检测算法 依然是各大CV方向AI公司的必争之地 那我们今天主角就是RetinaFace RetinaFace 是今年5月份出现的人脸检测算法 当时取得了state of the art 作者也开源了代码 过去了
  • 集合的知识

    集合 collection集合的常用方法 collection的特点 Collection代表单列集合 每个元素 数据 只包含一个值 Map代表双列集合 每个元素包含两个值 键值对 Collection集合特点 由于collection是一
  • gRpc指南

    本文翻译自官网 原文 https grpc io docs languages java quickstart 快速开始 下面通过一个简单的样例 让你快速上手基于java的gRpc的使用 前置条件 JDK7以上版本 获取示例代码 示例代码是
  • 斯坦福密码学课程-笔记-01-Introduction绪论

    斯坦福密码学课程笔记 01 绪论 Introduction Course Overview Cryptography is everywhere Secure communication Secure Sockets Layer TLS P
  • 使用thop库对yolo等深度学习模型的FLOPS进行计算

    据说yolov5原来的FLOPS计算脚本有bug 因此这个大神推荐使用thop库进行计算 代码如下 input torch randn 1 3 416 416 flops params thop profile model inputs i
  • 【华为OD机试真题 C++】寻找链表的中间结点

    前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email nansun09
  • SuperMemo 【POJ - 3580】【Splay+懒标记递推想法】

    题目链接 可以说这道题很好的给我们讲述了在Splay树上的lazy标记的递推 跟线段树上类似 在这棵二叉搜索树上 我们一样的去递推懒标记 接下来说说在哪几处需要专门注意懒标记的使用 这里有几处需要注意的地方 就是一开始给你的元素不是已经排好
  • 四种常见的代码覆盖率测试

    您听说过 代码覆盖率 吗 在这篇文章中 我们将探讨什么是测试中的代码覆盖率 以及四种衡量它的常用方法 什么是代码覆盖率 代码覆盖率是衡量测试代码测试了源代码百分比多少的指标 它可以帮助您识别可能缺乏适当测试的代码区域 通常 覆盖率指标会这样
  • 大头小头 字节序

    http blog csdn net zjf82031913 article details 7245183 字节序的问题涉及硬件架构 目前主要是Motorola的PowerPC系列CPU和Intel的x86系列CPU PowerPC系列采
  • Kibana导入CVS数据

    导入CVS数据 下载数据源CVS文件2018 7 12月份地震数据 https www elastic co assets bltb0648a200c490f5e quakes data csv 导入Machine Learning gt
  • 压缩zip文件和解压zip文件(设置压缩密码)

    欢迎访问个人博客 德鲁大叔撸代码 说明 注意引入的依赖 否则一直报错 很不容易找到的错误 import net lingala zip4j core ZipFile import net lingala zip4j exception Zi
  • 搭建并部署Vue3+TypeScript+Vite+ElementPlus项目

    目录 前言 一 搭建Vue3项目 1 安装yarn命令 2 创建VUE项目 3 安装VUE依赖 4 启动VUE项目 5 访问VUE项目 6 打包VUE项目 带项目名 7 部署VUE项目 二 使用Visual Studio Code管理vue