使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

作者站长头像
站长
· 阅读数 15

项目使用了若依后台,会打包到多个不同的环境中,于是创建了多个配置文件:使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

在package.json中配置的打包命令如下: 使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

.env.development是开发环境,使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

其他配置都是生产环境:使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

现在的问题是当我执行npm run build:prod的时候,打包出来的内容正常,但是当我执行npm run build:jnj时,打包时会报错:

使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?在网上找到了解决办法:https://blog.csdn.net/c199103...使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?

但是,使用这个方法打包出来的内容没有被分割:使用vue-cli4.x版本打包,不同配置文件设置相同的NODE_ENV,打包出来的内容有缺失?我的问题是,为什么npm run build:prod这个命令就不会报错,而npm run build:jnj这个命令就要报错呢,明明我的NODE_ENV都设置的是production啊?求路过的大佬帮忙看下

回复
1个回答
avatar
test
2024-07-18

找到了解决方案,重点在与BABEL_ENV,在vue-cli源码中看到了这样一行:

answer image

文件具体位置如下:

answer image

所以这也解释了为什么npm run build:prod可以正常打包,但是npm run build:jnj打包会有异常,因为打包时webpack认为这是开发环境,只要在配置文件中显式的声明BABEL_ENV为production就可以了

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容