vue3之vite创建h5项目1(创建vite项目、配置IP访问项目、配置多环境变量与预览打包生产效果、配置别名)

news2024/11/25 18:57:20

目录

  • vue3之vite创建h5项目1
    • 01:创建vite项目
    • 02:配置IP访问项目 vite.config.ts
    • 03:配置多环境变量
      • 03-1:配置多环境变量之dev环境 .env.development
      • 03-2:配置多环境变量之test环境 .env.test
      • 03-3:配置多环境变量之prod环境 .env.production
      • 03-4 修改 scripts 命令 package.json
      • 03-5 App.vue
      • 03-6 在项目中访问拿到 meta.env 环境
      • 03-6-1 运行
      • 03-6-2 运行dev环境 效果 `pnpm dev`
      • 03-6-3 运行test环境 效果 `pnpm test`
      • 03-6-4 运行prod环境 效果 `pnpm prod`
      • 03-6-5 运行build环境 效果 `pnpm build 与 pnpm preview `
      • 03-7 typescript 智能提示 根目录下 / env.d.ts
    • 04:配置别名
      • 04-1 vite.config.ts
      • 使用别名 App.vue

vue3之vite创建h5项目1

01:创建vite项目

npm init vue@3

Vue.js - The Progressive JavaScript Framework

✔ Project name: … vite-vue3-h5-tmp

✔ Add TypeScript? …  Yes

✔ Add JSX Support? …  Yes

✔ Add Vue Router for Single Page Application development? …  Yes

✔ Add Pinia for state management? …  Yes

✔ Add Cypress for testing? …   No

✔ Add ESLint for code quality? …  Yes

✔ Add Prettier for code formatting? …  Yes
  • 初始化项目模块
    在这里插入图片描述

02:配置IP访问项目 vite.config.ts

export default defineConfig({
  plugins: [vue(), vueJsx()],
  server: {
    host: '0.0.0.0'
  }
})

03:配置多环境变量

  • 添加环境变量文件,每个文件写入配置,定义 env 环境变量前面必须加 VITE_
  • dev环境
  • test环境
  • prod环境
  • 在项目根目录下创建
.env.development
.env.test
.env.production

03-1:配置多环境变量之dev环境 .env.development

# must start with VITE_ 设置dev开发的模式 
VITE_ENV = 'development'
# 设置dev输出路径
VITE_OUTPUT_DIR = 'dev'
# 设置dev开发的公共路径
VITE_PUBLIC_PATH = /

# dev开启mock接口
VITE_USE_MOCK = true

03-2:配置多环境变量之test环境 .env.test

VITE_ENV = 'test'
VITE_OUTPUT_DIR = 'dist_test'
VITE_PUBLIC_PATH = /

VITE_USE_MOCK = true

VITE_BUILD_COMPRESS = 'none'

VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false

03-3:配置多环境变量之prod环境 .env.production

VITE_ENV = 'production'
# 生产环境 打包后为存放在dist目录下
VITE_OUTPUT_DIR = 'dist'

VITE_PUBLIC_PATH = /

# Whether to open mock
VITE_USE_MOCK = true

# 是否启用gzip或brotli压缩
# 可选: gzip | brotli | none
# 如果需要多个表单,可以使用“,”分隔
VITE_BUILD_COMPRESS = 'none'

# 使用压缩时是否删除原始文件,默认为false
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false

03-4 修改 scripts 命令 package.json

  "scripts": {
    "dev": "vite --mode development",
    "test": "vite --mode test",
    "prod": "vite --mode production",
    "build": "run-p type-check build-only",
    "preview": "vite preview",
  },

03-5 App.vue

<template>
  <div>App</div>
</template>

<script setup lang="ts" name='App'>
import { } from 'vue'
console.log("meta.env", import.meta.env)
</script>

<style  lang="scss" scoped>
</style>

03-6 在项目中访问拿到 meta.env 环境

03-6-1 运行

在这里插入图片描述

03-6-2 运行dev环境 效果 pnpm dev

  • 运行dev环境 效果 pnpm dev
    • 在这里插入图片描述

03-6-3 运行test环境 效果 pnpm test

  • 运行test环境 效果 pnpm test
  • 在这里插入图片描述

03-6-4 运行prod环境 效果 pnpm prod

  • 运行prod环境 效果 - pnpm prod
    • 在这里插入图片描述

03-6-5 运行build环境 效果 pnpm build 与 pnpm preview

  • 查看打包效果 pnpm build
    • pnpm preview 查看打包后的预览效果
    • 在这里插入图片描述

03-7 typescript 智能提示 根目录下 / env.d.ts

/// <reference types="vite/client" />
interface ImportMetaEnv extends Readonly<Record<string, string>> {
	readonly VITE_ENV: string; // 环境
	readonly VITE_OUTPUT_DIR: string; // 打包目录
	readonly VITE_PUBLIC_PATH: string; //公共路径
  }
  interface ImportMeta {
	readonly env: ImportMetaEnv;
  }

04:配置别名

04-1 vite.config.ts

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'

// https://vitejs.dev/config/
export default defineConfig({
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
	  '@com': fileURLToPath(new URL('./src/components', import.meta.url))
    }
  },
})

使用别名 App.vue

  • 使用 src / components下的 Test组件
import Test from "@com/Test.vue"

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

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

相关文章

精彩!openEuler 社区年度顶级会议发生了啥?

2023年4月20-21日&#xff0c;万涓汇流&#xff0c;奔涌向前&#xff0c;openEuler Developer Day2023(以下简称“ODD2023”)在上海以线上线下的方式圆满举办。 本次大会由开放原子开源基金会指导&#xff0c;中国软件行业协会、openEuler社区、边缘计算产业联盟共同主办&#…

移动端Touch事件点击穿透

文章目录 移动端Touch事件点击穿透问题原因解决阻止默认行为目标元素延迟隐藏 移动端Touch事件点击穿透 问题 在发生触摸动作约300ms之后&#xff0c;移动端会模拟产生click动作&#xff0c;如果touch事件隐藏了原来元素 则click总作用到它底下的具有点击特性的元素&#xff…

高铁列车粒子群算法及改进粒子群算法多目标单目标运行优化设计

问题介绍 根据表1、2、3 所列数据&#xff0c;以能耗、运行时间、舒适性为目标分别设计列车运行速度—距离曲线&#xff1b;完成单目标以及多目标优化下的列车运行对比&#xff1b;选择其中一种方案&#xff0c;设计列车速度跟踪控制算法并进行性能分析。 1 列车参数设置表优化…

陶渊明最有名的10首诗,闲适美好

他是中国第一位田园诗人&#xff0c;被誉为“古今隐逸诗人之宗”、“田园诗派之鼻祖”。 他是诗人、辞赋家、散文家。 他是陶渊明。 欧阳修&#xff1a;晋无文章&#xff0c;唯陶渊明《归去来兮辞》。 陶渊明不为五斗米折腰&#xff0c;挂冠而去&#xff0c;给后世留下一段…

浅谈软件测试工程师的技能树

软件测试工程师是一个历史很悠久的职位&#xff0c;可以说从有软件开发这个行业以来&#xff0c;就开始有了软件测试工程师的角色。随着时代的发展&#xff0c;软件测试工程师的角色和职责也在悄然发生着变化&#xff0c;从一开始单纯的在瀑布式开发流程中担任测试阶段的执行者…

基于H3Core分区的司机轨迹实时存储-技术方案

1、背景 由数据分析师提出的需求&#xff0c;需要分析每10s各个区域&#xff08;颗粒度到H3Code 8级 面积约0.7平方公里&#xff09;的司机分布情况&#xff0c;实现准实时的区域司机分布。 H3Code的概念可以参考以下博客&#xff1a; Uber H3简单介绍_Scc_hy的博客-CSDN博客…

【Python学习 】Python的模块或py文件导入

目录 一、前言 二、python项目中导入模块&#xff08;py文件&#xff09;的几种方式 1、直接将py文件放到默认的库位置&#xff08;特点&#xff1a;高效&#xff09; 2、将文件放到创建的库位置&#xff08;特点&#xff1a;方便管理&#xff09; 3、将模块&#xff08;模…

OpenAI私有自然语言处理模型、ChatGPT官方模型、百度智能云UNIT模型定制三者的使用方式、应用场景及区别

目录 前言 1、ChatGPT私有自然语言模型数据响应 1.1、私有模型列表 1.2、搭建属于自己的 WEB AI 应用 1.3、模型介绍及使用场景 1.3.1、text-embedding-ada-002模型 1.3.2、davinci模型 2、ChatGPT官方模型 2.1、OpenAI GPT-4介绍 2.2、能力 2.3、优势 2.4、官方模…

MySQL和Redis如何保证数据一致性?

前言 由于缓存的高并发和高性能已经在各种项目中被广泛使用&#xff0c;在读取缓存这方面基本都是一致的&#xff0c;大概都是按照下图的流程进行操作&#xff1a; 但是在更新缓存方面&#xff0c;是更新完数据库再更新缓存还是直接删除缓存呢&#xff1f;又或者是先删除缓存再…

日撸 Java 三百行day40

文章目录 day40 小结1.回顾2.​​面向对象思想3.收获4.联系与区别5.不足 day40 小结 1.回顾 这10天主要从图的存储结构和图的应用方面进行了学习&#xff0c;在实现不同的存储结构都借助了矩阵来实现。首先&#xff0c;再回过去看这些代码&#xff0c;平时自己也写过许多业务…

R语言的贝叶斯时空数据模型实践技术应用

时间&#xff0d;空间数据&#xff08;以下简称“时空数据”&#xff09;是最重要的观测数据形式之一&#xff0c;很多科学研究的数据都以时空数据的形式得以呈现&#xff0c;而科学研究目的可以归结为挖掘时空数据中的规律。另一方面&#xff0c;贝叶斯统计学作为与传统统计学…

SystemView的使用教程(基于FreeRTOS的配置)

目录 1.添加文件 2.配置修改 3.连接运行 4.常见问题 SystemView 是一个可以在线调试嵌入式系统的工具&#xff0c;它可以分析有哪些中断、任务执行了&#xff0c;以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点&#xff0c;比如信号量、互斥…

10款比较好用的网页设计工具

网页设计软件的轻量化和在线协作已成为当前网页制作软件的发展趋势。网页设计并不容易&#xff0c;易于使用的网页UI设计软件更难找到。随着网络的快速发展&#xff0c;网站迅速崛起&#xff0c;网页设计也很受欢迎。网页设计软件即时设计是一种在线协作设计工具&#xff0c;深…

Github为开发者打造的AI代码编写建议插件

仓库&#xff1a; GitHub - github/copilot.vim: Neovim plugin for GitHub Copilot 特性&#xff1a; GitHub Copilot Your AI pair programmer GitHub 目录 代码建议 付费使用 专注于解决问题 支持常用IDE ​在不熟悉的领域自信地编写代码 GitHub Copilot使用Open…

python smtplib.SMTP_SS发邮件提示550, b‘The “From“ header is missing or invalid

发现网站不能注册新用户&#xff0c;报错提示&#xff1a;(550, b’The “From” header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard protocol. https://service.mail.qq.com/detail/124/995.) 定位是注册时不能发邮件验证导致。QQ邮箱的From格式…

使用 Luckysheet 可实现 Web 的 Excel

一、写在前面 工作中会遇到excel的导入和导出&#xff0c;换个角度看&#xff0c;假如有个 web 版本的excel &#xff0c;且能上传现有的&#xff0c;修改编辑后再下载也是个不错的方案。 Luckysheet 是实现 web版Excel的一个优秀的框架。 Luckysheet &#xff0c;一款纯前端类…

使用nvm在Windows上管理Node版本

1.卸载Windows上安装的Node.js 首先需要卸载我们现在安装的Node.js&#xff0c;控制面板->卸载程序->卸载Node.js 2.下载安装配置nvm 1.下载 GitHub下载链接:https://github.com/coreybutler/nvm-windows/releases 需要下载黄色方框圈中的nvm-setup.exe或者nvm-setup.zip…

数据结构学习分享之复杂度讲解

数据结构第一课 1. 前言2. 数据结构前言2.1 什么是数据结构和算法?2.2 数据结构和算法的重要性2.3 如何学好数据结构和算法?2.4 一些文章和书籍 3. 算法效率3.1 算法的复杂度3.2 复杂度在面试中的考察 4. 时间复杂度4.1 时间复杂度概念4.2 大O的渐近表示法4.3 判断时间复杂度…

从大厂到创业公司,管理上需要怎样转变?

你好&#xff0c;我是舒超。 我职业生涯过去十年的上半段在腾讯负责微博微群、消息流广告、视频评论等社交型的业务系统&#xff0c;下半段在美团基础架构负责云原生基础设施的演进工作&#xff0c;现在星汉未来担任CTO&#xff0c;负责公司产研推进工作。加入星汉未来的时间点…

策略模式——时势造英雄

● 策略模式介绍 在软件开发中常常遇到这样的情况&#xff1a;实现某一个功能可以有多种算法或者策略&#xff0c;我们根据实际情况选择不同的算法或者策略来完成该功能。例如&#xff0c;排序算法&#xff0c;可以使用插入排序、归并排序、冒泡排序。 针对这种情况&#xff0c…