美文网首页
vue4.x多环境打包不压缩问题解决

vue4.x多环境打包不压缩问题解决

作者: 小拇指的约定021 | 来源:发表于2020-09-23 11:44 被阅读0次

    本人小白,这里不懂原理只说问题和方法。

    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;

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

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

    相关文章

      网友评论

          本文标题:vue4.x多环境打包不压缩问题解决

          本文链接:https://www.haomeiwen.com/subject/iuwnyktx.html