vue-cli4 配置不同开发环境打包命令

这篇具有很好参考价值的文章主要介绍了vue-cli4 配置不同开发环境打包命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#📖. 前言

为什么会需要配置多种环境变量?

在一个产品的开发过程中,一般来说都是会经历这么一个过程:本地开发 → 测试版部署 → 测试 → 预上线 → 正式上线。对应的每一个环节中的服务器地址,接口地址...都会不一样。那么我们需要怎么去处理这种情况。

#一. 如何配置环境变量

#1. 创建文件

在 vue-cli4 的脚手架构建的项目根目录中新建一个 .env.[model] 文件,model 为一个变量,可以通过这个 model 的变量值来判断当前属于哪个环境。model 可以根据你的需求来修改, 该文件中写上对应的键值对。你需要多少个环境,就创建多少个 .env.[model] 在根目录中,文件如下图。

# 预发环境
.env.beta

# 开发环境
.env.development

# 生产环境
.env.production

# 测试环境
.env.test

简单说明一下,为什么要创建四个文件

首先我们创建的文件名必须是 .env.xxx.env.xxx 文件的 xxx 必须是和 package.json 里的 script 对象内部的命令一致

举个例子:

我们创建了 .env.test 这个文件,那么我们配置的打包命令 build:test 的值 "vue-cli-service build --mode test",--mode 后面的 test 必须跟文件 .env.test 一致,这样我们打包命令才会找到环境变量文件里面配置的参数 "build:test": "vue-cli-service build --mode test"

请注意!!!

只有 NODE_ENVBASE_URL 和以 VUE_APP_ 开头的变量将通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中。这是为了避免意外公开机器上可能具有相同名称的私钥。

#2. 环境变量文件说明

现在我们来到配置文件,这个配置文件的功能是为了判断当前打包环境是生产还是测试,或者本地,当然你也可以有很多的环境。在配置文件中我们通过 process.env.VUE_APP_BASE_URL 这个全局字段去判断环境, 然后将对应的接口地址匹配上。注意一点,上面的 NODE_ENV = "production" 不可以省略,vue-cli 4.0 及之后的版本会根据 NODE_ENV = "production" 来判断是否生产环境,如果你改变了这个就会被默认 NODE_ENV = "development"development 和 production 模式下打包出来的包结构会不同,为了一致性,所以配置文件的第一个字段应该设置为 NODE_ENV = "production"

.env.test (测试环境变量)

NODE_ENV = "test"
VUE_APP_BASE_URL = "接口请求测试地址"
VUE_APP_API = "接口请求测试地址"

.env.production (正式环境变量)

NODE_ENV = "production"
VUE_APP_BASE_URL = "接口请求正式地址"
VUE_APP_API = "接口请求正式地址"

.env.beta (预发环境变量)

NODE_ENV = "beta"
VUE_APP_BASE_URL = "接口请求预发地址"
VUE_APP_API = "接口请求预发地址"

.env.development (开发环境变量)

NODE_ENV = "development"
VUE_APP_BASE_URL = "/api"  // vue 跨域代理配置的标识
VUE_APP_API = "测试环境地址"

说明一下开发环境变量文件 VUE_APP_BASE_URL 的值指向的是我们在 vue.config.js 配置的跨域代理的字符串标识.

module.exports = {
  publicPath: './',
  devServer: {
    proxy: {
      '/api': {
        target: '接口请求测试地址', // API 服务器的地址
        ws: true,  // 代理 websockets
        changeOrigin: true, // 虚拟的站点需要更管 origin
        pathRewrite: {   // 重写路径 比如 '/api/aaa/ccc' 重写为 '/aaa/ccc'
          '^/api': ''
        }
      }
    }
  }
}

#3. 配置打包命令

package.json 文件下的脚本:

{
  "script": {
    "dev": "vue-cli-service serve && webpack-dev-server --open --mode dev",
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "build:dev": "vue-cli-service build --mode development",
    "build:prod": "vue-cli-service build --mode production",
    "build:beta": "vue-cli-service build --mode beta",
    "build:test": "vue-cli-service build --mode test"
  }
}

上面提到创建的 .env.[model] 文件,文件名中的 model 对应 package.json 文件中的打包脚本 --model [model]

例如我现在想打包正式环境,正式环境对应 .env.[model] 就是 .env.prop

在 package.json 的 script 中添加 "build:prod": "vue-cli-service build --mode production",其中 production 这个对应配置文件名的 mode,这样 webpack 打包的时候会自动跟踪到这个文件,并去读取其中的各种配置字段, 我们在项目中任意位置就可以通过 process.env.xx 拿到其中 xx 配置属性。

现在我们只需要运行对应的脚本命令就可以打包对应环境的项目代码。例如:我现在想打包 production 环境下的项目,在控制台运行 npm run build:prod,就可以执行正式环境打包。运行 npm run build:dev,则可以打包测试环境,该模式也可用于自动化部署。

综上所述,vue-cli4.x版本的打包命令和环境变量就配置完成了。文章来源地址https://www.toymoban.com/news/detail-603111.html

到了这里,关于vue-cli4 配置不同开发环境打包命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • webpack/vue-cli构建速度和打包体积优化

    webpack-bundle-analyzer 可以生成代码分析报告,可以直观地分析打包出的文件有哪些,及它们的大小、占比情况、各文件 Gzipped 后的大小、模块包含关系、依赖项等 npm i -D webpackbar webpack-bundle-analyzer javascript 复制代码 const { BundleAnalyzerPlugin } = require(\\\'webpack-bundle-analyzer\\\'); ​ module.e

    2024年01月19日
    浏览(37)
  • uniapp之通过vue-cli命令行创建Vue3/Vite版,JavaScript开发,引入uni-ui扩展组件

    注意: Vue3/Vite版要求 node 版本^14.18.0 || =16.0.0 如果使用 HBuilderX(3.6.7以下版本)运行 Vue3/Vite 创建的最新的 cli 工程,需要在 HBuilderX 运行配置最底部设置 node路径 为自己本机高版本 node 路径(注意需要重启 HBuilderX 才可以生效) HBuilderX Mac 版本菜单栏左上角 HBuilderX-偏好设置

    2024年02月12日
    浏览(41)
  • 查看vue-cli版本的两个命令

    有的时候想要查看自己的vue-cli的版本,但是不知道怎么查看,这个时候就可以使用这两个命令了 注意:这两个命令都是在装了全局的vue-cli的基础上,并且通过cmd窗口操作的 打开命令窗口输入: 注意:是大写的V 打开命令窗口输入: 这两个命令都是可以的

    2024年02月11日
    浏览(32)
  • vue2、vue-cli4以及vue3、vite打包去掉console.log

    webpack4会自带terser-webpack-plugin插件。 vue.config.js文件 vue-cli chainwebpack配置 webpack 配置terser chain链式配置 vite.config.ts文件 Esbuild#drop:For example, you can mark console.log as pure using --pure:console.log. This will cause these API calls to be removed safely when minification is enabled. Vite esbuild配置 esbuild prue配置

    2024年02月10日
    浏览(51)
  • Vue-Cli安装和配置(全)

    Vue-cli是Vue的脚手架,类似Java中的SpringBoot框架,用于搭建一个标准的项目。 Vue-cli大大降低了webpack的使用难度,支持热部署,有webpack-dev-server的支持,相当于启动了一个请求服务器作为测试环境,我们只关注开发就可以了。 目录 安装和配置 安装Node.js npm工具 npm配置国内镜像

    2024年02月03日
    浏览(43)
  • 基于webpack开发vue-cli

    一、vue-cli开发 1. 项目整体目录 2. package.json 3. eslintrc.js 这里需要继承vue3的eslint校验规则 4. babel.config.js 这里直接使用 @vue/cli-plugin-babel/preset 预设,这里面已经为我们做好了各种兼容性处理和优化,不用我们在像以前一样还要自己配置 core-js , @babel/plugin-transform-runtime 等优化性

    2024年02月10日
    浏览(33)
  • Webstorm+Nodejs+webpack+vue-cli+Git搭建vue环境

    此笔记归纳整理webstorm搭建vue项目,仅作记录使用。   因为版权问题,就不再细说了。   选择nvm的安装路径:   选择node的安装路径:    Win键+R键 ,输入cmd,然后回车,打开命令行界面   进入命令提示符窗口,输入以下命令,显示版本号,则安装成功。   在

    2024年02月15日
    浏览(64)
  • uniapp的h5项目 用命令起这个项目(vue-cli)

    这里其实就相当于给uniapp h5套了一个vue-cli的壳(纯属个人感觉) 首先需要安装vue-cli 脚手架 然后创建项目(这里需要在hbuilder创建) 安装成功后它的结构是目录, 打开项目查看package.json文件,所有对应的命令都已经有了 用命令运行一下 然后在把你的uniapp h5项目全部拷贝到

    2024年04月11日
    浏览(31)
  • vue项目打包_以生产环境prod模式打包_vue-cli-service 不是内部或外部命令,也不是可运行的程序---vue工作笔记0025

    打开命令行: 首先执行npm install  不执行会报错:   npm run build:prod --scripts-prepend-node-path=auto 然后再这样执行就是以生产环境模式打包了.

    2024年02月05日
    浏览(35)
  • vue-cli 5 如何配置 CSS Modules

    折腾了半天,发现根本不用安装什么 stylus、stylus、style-loader、css-loader 什么东东一大堆!!! 直接创建 css 文件然后引入就可以了,需要配置的话可以在 css.loaderOptions 配置,默认不配置就可以,真的我哭死!!! 1. 新建文件 img.custom-module.css 2. 在 vue 文件中 可以 import 引入

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包