1. 使用VueCli编译生产环境代码以及创建不同模式

为生产环境构建代码

应用部署的流程

  • 构建
    Javascript 语言本身是不需要编译的。
    但是现代的前端项目使用的语言和或者的模块系统都无法在浏览器中使用,都需要使用特定的 bundler 将源代码最终转换为浏览器支持的 Javascript 代码。
  • 不同的环境

开发环境

  • 会添加丰富的错误提示
  • 可以使用 mock server 或者本地后端环境
  • 添加各种便利的功能 - 比如 hot reload,自动刷新
  • 不太关心静态资源的大小,最好提供最丰富的调试信息(sourcemap)等。

生产环境

  • 稳定是最重要的原则
  • 速度是第一要务

生产环境和测试环境的区别

  • 高度相似
  • 使用的后端服务不一样

Vue Cli 的模式

文档地址:cli.vuejs.org/zh/guide/mo...

  • development 模式用于 vue-cli-service serve
  • test 模式用于 vue-cli-service test:unit
  • production 模式用于 vue-cli-service build

模式将决定您的应用运行的模式,是开发,生产还是测试,因此也决定了创建哪种对不同环境优化过的 webpack 配置。

test 模式:Vue CLI 会创建一个优化过后的,并且旨在用于单元测试的 webpack 配置,它并不会处理图片以及一些对单元测试非必需的其他资源。

development 模式:会创建一个 webpack 配置,该配置启用热更新,不会对资源进行 hash 也不会打出 vendor bundles,目的是为了在开发的时候能够快速重新构建。

在运行命令的时候设置环境变量的工具:cross-env

文档地址:github.com/kentcdodds/...

环境变量文件

cli.vuejs.org/zh/guide/mo...

在你的项目根目录中放置下列文件来指定环境变量

js 复制代码
.env               # 在所有的环境中被载入
.env.local         # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]        # 只在指定的模式中被载入
.env.[mode].local  # 只在指定的模式中被载入,但会被 git 忽略

一个环境文件只包含环境变量的 "键 = 值" 对:

  • VUE_APP_ 开头的变量
  • NODE_ENV : 当前使用的模式
  • BASE_URL : 部署到的基础路径
js 复制代码
NODE_ENV=development
VUE_APP_FOO=bar
BASE_URL='/'

读取变量

js 复制代码
console.log(process.env.NODE_ENV) // development
console.log(process.env.VUE_APP_FOO) // bar
console.log(process.env.BASE_URL) // '/'
相关推荐
anxiao_m5 分钟前
水利数字孪生怎么选?主流可视化渲染平台深度横向测评
大数据·前端·人工智能·图形渲染·云渲染
kill52214 分钟前
useRef
前端·javascript·react.js
蓝悦无人机15 分钟前
从“摸形状“到“点到线面的距离“——聊聊 SLAM 前端(激光雷达篇)
前端·loam·数据关联·激光slam·点云特征提取·点到线面距离·icp/ndt
flash俊杰1 小时前
工程约束怎么不拖后腿
前端
霍营_托尼1 小时前
纯前端播 40GB 本地视频?我把浏览器改造成了「磁盘流式」播放器
前端·javascript·音视频开发
溪语流沙1 小时前
【Web全栈进阶】FastAPI工程化:APIRouter拆分 + 配置 + 依赖注入
java·前端·fastapi
Shirley~~1 小时前
Three.js的基础概念
前端·3d
deli0071 小时前
黏菌没有大脑,3000 个 Physarum 粒子跑 12973 步自己铺出了迷宫最短路
前端
凌云若寒1 小时前
BarTender提示#807错误:无法在拥有其他许可证的Licensing Service上激活节点锁定的 Professional 版许可证 的解决办法
运维·服务器·前端·学习·软件需求
嘟嘟同学和妮妮同学1 小时前
用原生 JS 做了一个中国历史帝皇梳理的可视化站(7 朝 77 帝 + Leaflet 地图)
前端