首页 > 其他分享 >关于vite/cli构建项目的区别&环境变量配置&关于接口地址

关于vite/cli构建项目的区别&环境变量配置&关于接口地址

时间:2023-09-26 13:33:53浏览次数:41  
标签:Vue cli 配置 vite env 环境变量 Vite CLI

#### 区别
**Vite:**

1. **开发服务器启动速度:** Vite 通过利用 ES 模块的特性,实现了快速的冷启动和热模块替换。这意味着在开发环境中,启动开发服务器和应用程序的重新加载速度更快。
1. **即时的按需编译:** Vite 在开发过程中只会编译和打包当前正在编辑的文件,而不会重新构建整个项目。这可以显著减少编译时间,特别是在大型项目中。
1. **ES 模块导入:** Vite 使用 ES 模块导入作为原生的导入/导出系统,可以在浏览器中运行模块。这提供了更好的开发体验和性能。
1. **插件系统:** Vite 使用插件系统来扩展功能,你可以通过插件轻松地集成第三方库、工具和自定义功能。

**Vue CLI:**

1. **全功能的脚手架:** Vue CLI 是一个功能完整的脚手架工具,提供了构建单页应用和多页应用所需的一切工程化配置。
1. **Webpack 打包:** Vue CLI 使用 Webpack 来打包应用,这是一种传统的打包方式,将所有代码打包到一个或多个文件中,并将它们加载到浏览器中。
1. **插件和预设:** Vue CLI 提供了大量的插件和预设,可以用于添加功能、扩展配置、处理样式等。
1. **多页应用支持:** Vue CLI 提供了对多页应用的内置支持,可以轻松地创建多个页面并管理它们的依赖关系。
1. **官方推荐:** 对于大型项目和复杂的需求,Vue 官方更倾向于推荐使用 Vue CLI。

**细节对比:**

- **环境配置:** Vite 通过环境变量文件 `.env` 进行配置,而 Vue CLI 使用 `vue.config.js` 进行配置。
- **编译优化:** Vite 在开发环境下进行按需编译,而 Vue CLI 可以通过 Webpack 进行更多的优化,如代码分割、压缩、混淆等。
- **插件生态:** Vue CLI 拥有更丰富的插件生态,可以满足不同项目的需求。
- **开发模式:** Vite 的开发模式更倾向于原生 ES 模块导入,而 Vue CLI 更传统地使用 CommonJS 导入。

#### 环境变量配置

关于vite构建的项目,环境变量的配置方式与传统的 Vue CLI 项目有一些不同。Vite 使用不同的方式来管理环境变量。

在 Vite 项目中,直接在根目录下创建以 `.env` 为前缀的文件来定义环境变量,例如 `.env.development` 和 `.env.production`。然后,在代码中通过 `import.meta.env` 来访问这些环境变量。
对于使用 Vite 构建的项目,环境变量的配置方式与传统的 Vue CLI 项目有一些不同。Vite 使用不同的方式来管理环境变量。

在 Vite 项目中,可以直接在根目录下创建以 `.env` 为前缀的文件来定义环境变量,例如 `.env.development` 和 `.env.production`。然后,在代码中通过 `import.meta.env` 来访问这些环境变量。

以下是在 Vite 项目中配置和使用环境变量的示例:

1. 在项目根目录下创建 `.env.development` 和 `.env.production` 文件,分别用于开发环境和生产环境的配置。

2. 在这些文件中,定义环境变量,例如:

```
VITE_APP_BASE_API='接口地址'
```

3. 在代码中,可以通过 `import.meta.env` 来访问这些环境变量。例如:

```
// 获取基础API URL
const baseUrl = import.meta.env.VITE_APP_BASE_API;
```

在 Vite 中,你不需要手动引入 `process.env`,而是直接使用 `import.meta.env` 来访问环境变量。Vite 会根据当前环境加载对应的环境变量配置。

即在[封装的请求工具](https://juejin.cn/post/7256964915134365752)中,无需像cli中标注`baseURL: process.env.VUE_APP_BASE_API`,直接`import.meta.env.` 如下
```javascript
const service = axios.create({
baseURL: import.meta.env.VITE_APP_BASE_API, // url = base url + request url
timeout: 60000, // request timeout
});
```

#### 接口地址

接口地址可以是IP地址,也可以是域名。

- **IP地址:** 如果后端服务部署在特定的服务器上,可以使用服务器的IP地址作为接口地址。例如,`http://192.168.1.100/api`。
- **域名:** 更常见的情况是使用域名作为接口地址,因为域名更易于记忆,并且可以随时切换到不同的服务器。例如,`https://api.example.com`。

使用域名作为接口地址的好处是,可以在需要时更改服务器的实际位置,而不需要更改前端代码,只需要更改DNS记录。这有助于在后端服务器发生变化时保持前端代码的稳定性。

无论选择使用IP地址还是域名作为接口地址,都取决于项目需求和后端服务器的部署方式。确保在环境变量中正确配置这些地址,以便在不同环境中使用不同的配置。


更多关于项目构建以及环境变量点击[这里](https://juejin.cn/post/7249186287578726458)。

标签:Vue,cli,配置,vite,env,环境变量,Vite,CLI
From: https://www.cnblogs.com/yxxcl51/p/17729891.html

相关文章

  • Vue3-vite 按需引入Element-plus
    1.下载unplugin-vue-components,unplugin-auto-import包npmi-Dunplugin-vue-componentsunplugin-auto-import2.vite.config.js文件中配置1importAutoImportfrom'unplugin-auto-import/vite'2importComponentsfrom'unplugin-vue-components/vite�......
  • enclave demo client 运行错误:
    [ec2-user@ip-172-31-66-71GenerateToken]$python3client.pyalias/wallet-sec2-enclave-kmsu001Expectingvalue:line1column1(char0)enclave的console出错信息如下:Startingrun.shnohup:appendingoutputto'nohup.out'[6.471168]NSMRNG:returnin......
  • 解决vite不是内部或外部命令,也不是可运行的程序 或批处理文件
    要vite创建vue3.0项目的时候,到了最后一步npmrundev的时候出现了以下错误:‘vite’不是内部或外部命令,也不是可运行的程序或批处理文件。问题的原因是:缺少安装依赖这一步!vite不像node或cli,会自动帮助我们执行npmi(install)命令去下载相关依赖,需要我们手动下载解决问题输入......
  • 如何在vite+vue3中的html页面中使用变量?
    如何在vite+vue3中的html页面中使用变量?vite版本:4.1.5vue版本:3.2.47需要引入新的开发依赖:yarnaddvite-plugin-html-D修改vite.config.ts文件配置...//@ts-ignoreimport{createHtmlPlugin}from"vite-plugin-html";exportdefault({mode}:ConfigEnv):Us......
  • eclipse中左侧的菜单栏没了怎么办?
    1.打开eclipse2.在上面一行的菜单栏中找到Window,打开 3.找到showview,展开  4.找到PakageExplorer,点开即可还原左侧菜单栏 ......
  • cmake中配置了工具链,命令行工具可以找到,但是clion中找不到
    在CLion中找不到配置的交叉编译工具链可能是由于CLion使用了自己的环境变量和配置方式,而不直接继承系统的环境变量。这可能导致CLion无法找到你在CMakeLists.txt中指定的交叉编译器路径。为了让CLion正确识别你的交叉编译器,你可以尝试以下方法:在CLion中设置环境变量:打......
  • $().click()和$().on('click','要选择的元素',function(){})的区别
    $().click()和$().on('click','要选择的元素',function(){})的区别demiling于2018-10-2410:43:33发布7810收藏9分类专栏:每天总结文章标签:jquery版权每天总结专栏收录该内容10篇文章1订阅订阅专栏$(选择器).click(function(){}):页面中已经存在的DOM。$(ducument).on(......
  • 在idea的控制台使用命令报错XXX无法识别为命令或改变了环境变量后idea环境未同步更新
    报错XXX无法识别为命令是当前环境中不存在XXX配置,当前环境不是说电脑的系统环境,比如使用的idea那当前环境就是idea的配置环境:打开设置(ctrl+alt+s) 在Value中添加XXX对应的路径,记得加分号(;)。 ......
  • 蓝天采集器开启自动采集设置PHP-CLI(命令行)
    宝塔面板操作打开终端,进ssh执行以下两条命令:rm-f/usr/bin/phpln-sf/www/server/php/70/bin/php/usr/bin/php最后,测试是否成功打开命令行,输入php-v 服务器这边就配置好了,我们接下来回到我们的蓝天采集器后台,点击设置-----采集设置-----采集运行模式-----选择cli......
  • bcm cli 命令
    查看端口当前芯片配置:Sundray-SW/var#bcmshportge3=excute:ovs-appctlplugin/bcmshportge3=Enable[True]AutoNeg[True]ADVert[1000full,100,10]SPeed[0]FullDuplex[False]LinkScan[HW]LeaRN[5]DISCard[None]VlanFilter[3]PRIOrity[0]PortFilterMode[2]PH......