• 多环境打包实现


    webpack默认的打包是production模式,并且只内置了production,development,2种模式,默认production打包会执行压缩;

    网上很多多环境打包是直接配置 NODE_ENV = “xxx”,这样执行打包虽然会成功,但是没有压缩,不是我们想要的效果,说通俗些我们想要的效果就是打包出来的文件和直接build出来是一样的,只是配置的环境地址不同。

    第一步:

    在根目录建3个文件,和vue.config.js同级:

    .env.development
    NODE_ENV = 'development'

    VUE_APP_BASE_URL  = "/"

    .env.lzw
    NODE_ENV = 'production'  //这里是标注模式,webpack只内置了production,development,2种模式,如果写其他的,能正常打包出来,但打包结果不会压缩,如果不想这样写,也可以自己去其他地方配置。甚至可以不写,不写就是默认的。

    VUE_APP_TITLE = 'lzw' //VUE_APP_是规定的命名格式,TITLE是自己命名的变量,现在没有用到,可以在项目中用户环境判断使用,可根据需要自行增加其他参数

    VUE_APP_BASE_URL  = "http://lzwapi"

    outputDir = dist-lzw

    .env.production
    NODE_ENV = 'production'

    VUE_APP_TITLE = 'production'

    VUE_APP_BASE_URL  = "http://prod/api/"

    outputDir = dist-prod

    第二步:

    在package.json中配置

    "scripts": {

    "serve": "vue-cli-service serve",

    "build": "vue-cli-service build",

    "build-all": "vue-cli-service build && vue-cli-service build --mode lzw",

    "build-lzw": "vue-cli-service build --mode lzw",

    //关键代码,build 打包会默认解析.env.production

    //这里--mode lzw把环境切换成lzw环境,然后打包会解析.env.lzw中的配置

    "lint": "vue-cli-service lint"

    },

    第三步:

    可省略,配置输出文件夹

    module.exports = {

    outputDir: process.env.outputDir,

    }

    第四步:

    可省略,配置不同环境中设置的地址路径:

    let baseURL = process.env.VUE_APP_BASE_URL;

    其他地方也可直接是使用,配置的参数信息

    结束,现在就可以执行命令实现多环境 打包了

    参考:https://www.jianshu.com/p/9936aa26a3b7

  • 相关阅读:
    SQLserver 连接+开窗函数+视图+事务
    SQLServer学习笔记系列8
    SQLServer学习笔记系列7
    SQLServer学习笔记系列6
    如何保护.net中的dll文件(防破解、反编译)
    idea项目运行正常,但是类出现红色波浪线
    eclipse出现An internal error occurred during: "Repository registry initialization". Array index out of
    ul列表事件($(this).data('value') 这个是什么意思?)
    vue学习
    两段简单的JS代码防止SQL注入
  • 原文地址:https://www.cnblogs.com/miaSlady/p/15765679.html
Copyright © 2020-2023  润新知