【问题标题】:npm run build --mode [.env.mode] not working as expectednpm run build --mode [.env.mode] 没有按预期工作
【发布时间】:2018-11-19 05:23:04
【问题描述】:

到目前为止我做了什么:

我一直在尝试基于NODE_ENV=production 设置多种构建模式,例如stagingtestingproductiondevelopment。所以我将各自的文件保存在项目文件夹的根目录中,例如:

  • .env.production
  • .env.staging
  • .env.testing
  • .env.development

现在,所有这些文件都有

NODE_ENV=production
VUE_APP_ENV=<mode>

我关注的document 明确指出,

vue-cli-service build --mode staging暂存模式,如果它们使用 .env、.env.staging 和 .env.staging.local 存在。

问题:

正如预期的那样,运行命令npm run build --mode staging 将提供带有.env.staging 文件中列出的变量的生产版本。但是,会加载 production 变量而不是 staging

参考:

【问题讨论】:

    标签: vue.js vuejs2


    【解决方案1】:

    你需要使用下面的命令

    npm run build -- --mode staging

    -- 之前的所有参数都被视为npm 参数,-- 之后的参数被传递给vue-cli-service

    【讨论】:

    • 太棒了!它对我有用!作为旁注,我认为这种行为真的很愚蠢。我希望他们会更改它或至少将其放入文档中。谢谢!
    【解决方案2】:

    我遇到了同样的问题,我发现我的问题出在使用 @vue/cli-service 的 beta 版本 (3.0.0-beta.9) 所以将其更改为 rc 版本 (3.0.0-rc.3) 有效。所以在我的 devDependencies 下的 package.json 中,我将其更改为 "@vue/cli-service": "^3.0.0-rc.3"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2021-02-01
      • 2018-06-14
      • 2021-03-11
      • 2018-06-20
      相关资源
      最近更新 更多