如果使用lerna run,则忽略特定模式的Vue构建

hgc7kmma  于 2023-11-21  发布在  Vue.js
关注(0)|答案(1)|浏览(99)

所以我有一个vue项目,在包.json中包含这个脚本:

"build-test": "vue-cli-service build --mode test"

字符串
在项目中,我有.env和.env.test文件。
现在,当我使用“构建-测试”构建时,
它会导致.env.test配置,因为它应该
当我把lerna添加到项目中时,问题就开始了。
我尝试在主package.json中添加一个脚本,它基本上调用:

lerna run build-test --scope @company/web-app --include-dependencies


但是当我这样做时,它会导致从默认的.env文件而不是.env.test文件中获取配置。
如果我从web-app文件夹中运行命令“build-test”,它会正常执行,并使用正确的.env文件。
有谁知道是什么问题吗?
Thanks In advance

ippsafx7

ippsafx71#

当你跑步时:

lerna run build-test --scope @company/web-app

字符串
lerna自动从@company/web-app加载.env文件,这会扰乱process.env

  • 来自.env的键将覆盖.env.test
  • 当你不运行构建与lerna,.env.test键正确覆盖.env

解决方案:
添加标志--load-env-files=false

lerna run build-test --scope @company/web-app --load-env-files=false


https://www.npmjs.com/package/@lerna/run?activeTab=readme#--load-env-files

相关问题