为多个环境设置SERVER_URL

时间:2018-05-24 13:59:58

标签: grails vue.js environment-variables

我有一个Grails / VueJS项目,我想知道如何为每个环境定义不同的SERVER_URL。

我在AWS上部署了4个不同的环境(使用不同的URL),我需要将这个SERVER_URL配置好来调用我的控制器。

今天我有配置文件:

enter image description here

但是我在prod.env.js中只能有一个值

默认情况下,生产模式用于build.js:

process.env.NODE_ENV =' production'

但是如何为我的4个环境指定不同的URL,并使用正确的SERVER_URL?

1 个答案:

答案 0 :(得分:0)

您应该为每个配置添加SERVER_URL变量,并提供您需要的值,例如 prod.env.js

module.exports = {
    NODE_ENV: '"production"',
    SERVER_URL: '"https://server.com/"',
    CLIENT_ID: '"some client stuff"',
    CLIENT_URL: '"some another client stuff"'
}

在源代码中只使用process.env.SERVER_URL,在捆绑过程中它将被 webpack DefinePlugin 替换为"https://server.com/"

因此,要构建生产,您需要运行具有正确 NODE_ENV值的(仅将其添加到package.json脚本部分,以便不会每次都输入):

cross-env NODE_ENV=production node build/build.js

P.S。 cross-env是在不同平台上设置环境变量的实用工具,应该通过npm 安装。