001、Vue3 + Vite + TypeScript + Element-Plus,第一个后台管理项目走向第一步:开建

一、基本环境创建

1、安装nvm

在 https://github.com/coreybutler/nvm-windows/releases  下載nvm-setup.exe

Windows 下直接安装

nvm list available 查看nodejs版本
|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    21.7.1    |   20.12.0    |   0.12.18    |   0.11.16    |
|    21.7.0    |   20.11.1    |   0.12.17    |   0.11.15    |
|    21.6.2    |   20.11.0    |   0.12.16    |   0.11.14    |
|    21.6.1    |   20.10.0    |   0.12.15    |   0.11.13    |
|    21.6.0    |    20.9.0    |   0.12.14    |   0.11.12    |
|    21.5.0    |   18.20.0    |   0.12.13    |   0.11.11    |
|    21.4.0    |   18.19.1    |   0.12.12    |   0.11.10    |

2、安装nodejs

nvm install 20.12.0

安装完后use node 20.12.0 要选择使用哪一个
nvm uninstall 20.12.0 可以卸载
D:\work_hzyh>node -v
v20.12.0

安装完成

3、安装pnpm  

pm i -g pnpm
pnpm get registry
pnpm set registry https://registry.npmmirror.com

# 允许设置全局安装包的 bin 文件的目标目录。
pnpm config set global-bin-dir "D:\pnpm-store"
# 包元数据缓存的位置。
pnpm config set cache-dir "D:\pnpm-store\pnpm-cache"
# pnpm 创建的当前仅由更新检查器使用的 pnpm-state.json 文件的目录。
pnpm config set state-dir "D:\pnpm-store\pnpm-state"
# 指定储存全局依赖的目录。
pnpm config set global-dir "D:\pnpm-store\global"
# 所有包被保存在磁盘上的位置。
#(可选,以下这条命令可以选择不执行也是OK的)
pnpm config set store-dir "D:\pnpm-store\pnpm-store"

二、创建项目

pnpm create vite@latest hzyh-admin --template vue-ts

 cd hzyh-admin
  pnpm install
  pnpm run dev
即可看到界面

 界面这个样子

 三、package.json解析

安装各种插件(后面带-D 放在devDependencies下,开发环境,打包后不需要的,不加-d放在dependencies,也可以加-S生产环境中使用的)分开装也可以,放在json里直接pnpm i 就ok

 四、Vite多环境配置及变量识别规

配置 Vite | Vite 官方中文文档 icon-default.png?t=N7T8https://cn.vitejs.dev/config/看官方文档基本都能看明白

* 关于vite的别名是`vite dev`,`vite serve`

A、主要要注意几点

1、vite以当前工作目录作为根目录启动开发服务器,其实就是我们项目目录下面,也就是和vite.config.ts一个目录,当然也可以自己配置

2、vite的别名是`vite dev`,`vite serve`,

3、默认情况下,开发服务器 (dev 命令) 运行在 development (开发) 模式,而 build 命令则运行在 production (生产) 模式。这意味着当执行 vite build 时,它会自动加载 .env.production 中可能存在的环境变量

3、通过--mode 来指定模式,会覆盖默认模式,比如下面代码中

"dev": "vite",执行pnpm dev时,打印 command ===  serve mode ===  development,

如果我们 "dev": "vite --mode local",,那么执行pnpm dev  答应command ===  serve mode ===  local,同时意味着它会自动加载 .env.local 中存在的环境变量

{

        "scripts": {

                "dev": "vite", // 启动开发服务器,别名:`vite dev`,`vite serve`

                "build": "vite build", // 为生产环境构建产物

                "preview": "vite preview" // 本地预览生产构建产物

        }

}

4、注意 Vite 默认是不加载 .env 文件的,需要的时候使用 Vite 导出的 loadEnv 函数来加载指定的 .env 文件

B、看看代码的效果

下面我们看看vite.config.ts

// 当前执行node命令时文件夹的地址(工作目录)

const root = process.cwd()

// https://vitejs.dev/config/

export default ({ command, mode }: ConfigEnv): UserConfig => {

  console.log("command === ",command);

  console.log("mode === ",mode);

  let env = {} as any

   env = loadEnv(mode, root)

console.log("env === ",env);

  return {

  }

}

 需要做的事情

Test 1 、我们先定义一个.env文件,后面不带mode,在里面定义两个常量,并且,package.json文件里设置成 "dev": "vite", 然后我们打印小env的值,运行一下pnpm dev

# 标题

VITE_APP_TITLE=测试系统

TEST='我是.env'

command ===  serve
mode ===  development
env ===  { VITE_APP_TITLE: '测试系统' }

说明什么,说明调用了.env,但是我们好像定义了两个,现在只答应了一个,这个就是vite的规定,前面必须是“VITE_”,当然也可以改,不过觉得没必要

改为这样

# 标题

VITE_APP_TITLE=测试系统

VITE_TEST='我是.env'

 打印结果就正常了

command ===  serve
mode ===  development
env ===  { VITE_APP_TITLE: '测试系统', VITE_TEST: '我是.env' }

Test 2 、我们把package.json文件里设置成 "dev": "vite --mode local" 或者别的都可以,然后测测试

Error: "local" cannot be used as a mode name because it conflicts with the .local postfix for .env files.

这个错误后面来说

local不能用。改为别的dev "dev": "vite --mode dev",再测试

打印结果,说明调用了.env

command ===  serve
mode ===  dev
env ===  { VITE_APP_TITLE: '测试系统', VITE_TEST: '我是.env' }

Test 3 、 我们添加一个文件,和.env同目录名字就是.env.dev,后面就是刚才加的mode,

我们也在该文件下加上个常量,然后测试一下

# 标题

NODE_ENV = development

VITE_TEST ='我是.env.dev'

打印值,看看清楚,.env.dev中的VITE_TEST覆盖了.env中的VITE_TEST,所以以后定义是要注意

command ===  serve
mode ===  dev
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.dev',
  VITE_USER_NODE_ENV: 'development'
}

看看打印值是不是.env和.env.dev的都调用了,看到现在应该基本都懂了吧

Test 4 、 为什么会出现local的错误

里面加两条数据,然后把"dev": "vite --mode dev",改为"dev": "vite --mode local-dev",我们再执行测试一下

NODE_ENV = local

VITE_TEST ='我是.env.local'

command ===  serve
mode ===  local-dev
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.local',
  VITE_USER_NODE_ENV: 'lcoal'
}
NODE_ENV=lcoal is not supported in the .env file. Only NODE_ENV=development is supported to create a development build of your project. If you need to set process.env.NODE_ENV, you can set it in the Vite config instead.

 上面打印除了信息,说明调用了.env和.env.local,而且还有个小错误,不能改为NODE_ENV=local我们改回NODE_ENV=development,正常,但是我们发现没有调用.env.dev,

Test 5 、我们改为"dev": "vite --mode local-dog",执行一下

打印结果不受影响,多试试local-****,发现都是这结果,原理未知

command ===  serve
mode ===  local-dog
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.local',
  VITE_USER_NODE_ENV: 'development'
}

Test 6 、上面觉得结果有点出乎意料,然后把"dev": "vite --mode local-dog", 改为"dev": "vite"

打印结果,更加神奇,说明和--mode后面是local什么没关系,都调用了.env.local,这结果,让我不得不测试了Test 7

command ===  serve
mode ===  development
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.local',
  VITE_USER_NODE_ENV: 'development'

 Test 7 、把"dev": "vite"改为"dev": "vite --mode dev",

打印结果,

command ===  serve
mode ===  dev
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.dev',
  VITE_USER_NODE_ENV: 'development'
}
 

还好这个结果是预期,要不搞不懂了,

C、总结一下: 

1、local是个特殊,应该是系统内部有默认,其实就是--mode后面没有别的,就会调local

2、其他的就是你scripts --mode是啥就建一个啥文件就行了 

* 关于build部分 

也来测试几下就行了

Test 1、把scripts 里设置为"build": "vite build"

打印结果,啥参数都没有,一样调用了.env.local和.env

command ===  build
mode ===  production
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.local',
  VITE_USER_NODE_ENV: 'development'

 Test 2、把scripts 里设置为"build": "vite build --mode local-dog"

打印结果,所以有没有都会调用.env.local和.env

command ===  build
mode ===  local-dog
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.local',
  VITE_USER_NODE_ENV: 'development'

 Test 2、把scripts 里设置为"build": "vite build --mode dev"

结果很明显,没啥好说的,和serve时是一样的

command ===  build
mode ===  dev
env ===  {
  VITE_APP_TITLE: '测试系统',
  VITE_TEST: '我是.env.dev',
  VITE_USER_NODE_ENV: 'development'

 后面就不测了,build的和前面vite调用参数是一样的

  • 12
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue3是一种流行的JavaScript框架,它被广泛用于构建现代化的Web应用程序。Vite4是Vue3的一种构建工具,它具有快速的冷启动时间和即时的热模块替换,使开发过程更加高效。Element Plus是一套基于Vue3的UI组件库,它提供了丰富的可定制化的组件,使得构建界面变得简单。 这款后台管理系统是使用Vue3、Vite4和Element Plus进行开发的。它提供了一个现代化的用户界面,适用于管理各种类型的后台数据。 由于使用了Vue3和Vite4,该后台管理系统具有卓越的性能和开发速度。Vue3的响应式数据绑定机制可以确保数据状态的变更能够自动同步到界面上,使用户获得更流畅和高效的交互体验。Vite4的快速冷启动和即时热模块替换功能,可以大大提升开发过程中的效率,保证开发者可以实时看到代码改动的效果。 另外,使用Element Plus作为UI组件库,可以让开发者快速构建各种功能丰富的界面元素。Element Plus提供了大量的可用组件,如表格、表单、图表等,开发者可以根据需求轻松地快速搭建出美观且易用的后台管理系统。 这款后台管理系统还具备移动端适配能力,可以在手机等移动设备上正常访问和使用。通过Vue3的响应式设计和Element Plus的响应式布局,界面可以根据不同的屏幕大小和设备自动适应并呈现最佳的使用体验。 总而言之,这款使用Vue3、Vite4和Element Plus开发后台管理系统具有出色的性能、灵活的开发工具、丰富的可定制化组件和良好的移动端适配能力,适合开发者快速构建现代化的后台管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值