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

问题描述 投票:0回答:1

所以我有一个 vue 项目,package.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 文件。
任何人都知道问题出在哪里吗?

提前致谢

javascript vue.js vuejs2 vue-cli lerna
1个回答
0
投票

跑步时:

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

lerna 自动从

.env
加载
@company/web-app
文件,这会弄乱
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

© www.soinside.com 2019 - 2024. All rights reserved.