标签 - VUE

VUE    2021-12-20 11:00:12    3    0    0

一、为什么要配置环境变量

在公司,一个项目一般会有开发版本、测试版本、灰度版本和线上版本,每个版本会对应相同或不同的数据库、API地址。为了方便管理,我们通常做成配置文件的形式,根据不同的环境,加载不同的文件。如果手动修改代码中加载配置文件的路径也可以,但是太麻烦,最重要的是很low(无形装逼,最为致命)。

二、实现原理

采用nodejs顶层对象中的process.env(进程环境,返回一个包含用户环境信息的对象。)属性,根据各个环境的配置文件区分和切换环境

三、具体操作(以vue项目为例)

1、安装依赖

  1. npm install process

2、在根目录新增五个文件(根据自身情况增减), .env 和 .env.dev 和 .env.pre和 .env.prod和 .env.sit和 .env.uat,分别为默认配置、本地开发配置、灰度配置、生产配置、测试配置1、测试配置2,(ps: VUE_APP是统一标志,后面的拓展名可以任取)

  .env

  1. VUE_APP_TITLE='dev'

  .dev

  1. NODE_ENV = 'development'
  2. VUE_APP_TITLE = 'development'
  3. /*请求接口地址*/
  4. VUE_APP_INTERFACE_URL="https://xxx"
  5. /*首页地址*/
  6. VUE_APP_URL="http://xxx"
  7. /*proxy代理地址*/
  8. VUE_APP_PROXYURL='http://xxx'

  .prod

  1. NODE_ENV = production
  2. VUE_APP_TITLE = 'prod'
  3. /*请求接口地址*/
  4. VUE_APP_INTERFACE_URL="https://xxx"
  5. /*首页地址*/
  6. VUE_APP_URL="http://xxx"

3、设置项目启动时默认的环境

只需要在项目启动命令后面修改需要的环境就行,例如我这是npm run dev,把--mode dev改成--mode uat就行了
package.json

  1. "scripts": {
  2. "dev": "vue-cli-service serve --mode
VUE    2021-12-19 17:00:54    7    0    0

前言

我们将会选择使用一些vue周边的库

  1. 使用node.js后台,了解到如何获取数据
  2. 实现单页路由
  3. 实现HTTP请求我们的node
  4. 单项数据流
  5. 使用.vue文件进行开发

最终我们将会构建出一个小demo,不废话,直接上图。
Vue构建单页应用最佳实战_

安装

  1. 我们将会使用webpack去为我们的模块打包,预处理,热加载。如果你对webpack不熟悉,它就是可以帮助我们把多个js文件打包为1个入口文件,并且可以达到按需加载。这就意味着,我们不用担心由于使用太多的组件,导致了过多的HTTP请求,这是非常有益于产品体验的。但我们并不只是为了这个而使用webpack,我们需要用webpack去编译.vue文件,如果没有使用一个loader去转换我们.vue文件里的style、js和html,那么浏览器就无法识别。

  2. 模块热加载是webpack的一个非常碉堡的特性,将会为我们的单页应用带来极大的便利。
    通常来说,当我们修改了代码刷新页面,那应用里的所有状态就都没有了。这对于开发一个单页应用来说是非常痛苦的,因为需要重新在跑一遍流程。如果有模块热加载,当你修改了代码,你的代码会直接修改,页面并不会刷新,所以状态也会被保留。

  3. Vue也为我们提供了CSS预处理,所以我们可以选择在.vue文件里写LESS或者SASS去代替原生CSS。

  4. 我们过去通常需要使用npm下载一堆的依赖,但是现在我们可以选择Vue-cli。这是一个vue生态系统中一个伟大创举。这意味着我们不需要手动构建我们的项目,而它就可以很快地为我们生成。

首先,安装vue-cli。(确保你有node和npm)

  1. npm i -g vue-cli

然后创建一个webpack项目并且下载依赖

  1. vue init webpack vue-time-tracker
  2. cd vue-time-tracker
  3. npm i

接着使用 npm run dev 在热加载中运行我们的应用

这一行命令代表着它会去找到package.json的scripts对象,执行node bulid/dev-server.js。在这文件里,配置了Webpack,会让它去编译项目文件,并且运行服务器,我们在local